jQuery自动完成在窗口模糊时隐藏自己,禁用此功能



jquery的自动完成功能隐藏在窗口模糊上,如何防止这种情况?

在互联网上找不到答案。

听起来很简单,但使用以下代码来确定窗口焦点和模糊,我在进入模糊之前打开的所有自动完成都没有显示,似乎窗口模糊是自动完成隐藏的触发器:

$(function() {
$(window).focus(function() {
});
$(window).blur(function() {
$(".ui-autocomplete").each(function(){alert($(this).css("display"));});
});

});

我想为所有显示不是 none 的自动完成设置变量,然后在焦点显示这些变量时,但在模糊时,我得到所有".ui-autocomplete"的显示 none

尝试更改自动完成的blur事件处理程序,如下所示:

$(function(){
$('#autocomplete').autocomplete({
source: ['cat','rabbit','donkey']
}).off('blur').on('blur', function() {
if(document.hasFocus()) {
$('ul.ui-autocomplete').hide();
}
});
});

使用hasFocus()功能,您可以检查当前窗口的焦点并确定是否关闭选项

js小提琴在这里

相关内容

最新更新