Ran*_*lue 8 jquery jquery-ui jquery-ui-autocomplete
我使用jQuery UI .autocomplete(),我真的很喜欢.我确实有一个我无法解决的重大问题.
当我输入一个字母,比如s,并且下拉菜单中出现stackoverflow,我用鼠标选择stackoverflow,然后输入框暂时失去焦点,这会导致onblur事件被调用.
虽然从技术上讲,blur当我点击时输入框被编辑,这违背了可用性直觉.我该如何解决这个烦人的行为?
小智 18
您可以尝试使用jQuery UI自动完成的打开和关闭事件来控制文本框的模糊事件.打开自动填充功能后,您可以禁用模糊事件,当它关闭时,您可以再次启用模糊事件.我在jsfiddle.net上设置了一个工作示例.希望能帮助到你.
var disable=false;
$( "#tags" ).autocomplete({
source: availableTags,
open: function(event, ui) { disable=true },
close: function(event, ui) {
disable=false; $(this).focus();
}
}).blur(function() {
if(!disable) {
alert('blur');
}
});
Run Code Online (Sandbox Code Playgroud)