【发布时间】:2013-04-24 16:38:10
【问题描述】:
我的另一个问题 prevent datepicker from triggering parent mouseleave 与我的情况类似,但该解决方案似乎不适用于 jQuery UI 自动完成。
悬停如何也适用于自动完成子项?换句话说,如果有一个mouseenters 在自动完成建议上,#hoverMe 应该保持打开状态。此外,关于如何处理 select 选择在 #hoverMe 之外的选择同时保持 #hoverMe 显示直到 mouseenters 回来的建议/代码会很棒!
html
<div id="hoverAnchor">hover me</div>
<div id="hoverMe" style="display:none">arbitrary text
<input type="text" id="autocompletor"></div>
</div>
js
$(document).ready(function () {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#autocompletor").autocomplete({
source: availableTags
});
var _enter = false;
$("#hoverAnchor").add($("#hoverMe")).mouseenter(function () {
if (!_enter) {
$("#hoverMe").stop(true, false).animate({
height: 'toggle',
opacity: 'toggle'
}, 200);
}
_enter = true;
}).mouseleave(function () {
_enter = false;
$("#hoverMe").stop(true, false).animate({
height: 'toggle',
opacity: 'toggle'
}, 200);
});
});
【问题讨论】:
-
您希望在选择项目后关闭自动完成功能吗?或者,理想情况下,您希望发生什么?解决这个问题的方法很少。
-
@Dom 我编辑了。基本上,悬停选择应保持
#hoverMe显示。当select选择#hoverMe之外的选择时,我还没有真正决定行为...
标签: jquery hover mouseevent parent-child jquery-autocomplete