Ric*_*ues 5 jquery dialog jquery-ui autocomplete jquery-ui-autocomplete
我想知道在JQuery Autocomplete中是否有一种方法,如果单击OUTSIDE选项框以选择或单击键盘中的ESCAPE,则打开选项时.它关闭,无需选择一个选项.
有人知道正确的方法吗?仍然认为使用某些东西检查是否关注自动完成,如果不关闭它,但只是一个IDEA.
谢谢
只要关闭自动完成时,关闭对话框:
$("#dialog").dialog({
close: function() {
$('#tags').autocomplete('close');
}
});
Run Code Online (Sandbox Code Playgroud)
请参阅此操作:http://jsfiddle.net/william/3Yz9f/1/.
更新
这取决于你的"一般"是什么意思.JavaScript非常注重事件.因此,最初,您希望在关闭对话框时关闭自动完成功能,因此答案的第一部分.当然你可以将它绑定到一些间接事件,例如自动完成模糊或隐藏(你可能需要为隐藏做一个自定义事件),但这会给你一些风险,它们可能不会被触发,因为它们是间接的.
现在你希望它在拖动对话框时关闭; 好吧,这也不难; 您可以通过dragStart对话框事件实现此目的,但它们是两个不同的事件,包括对话框,而不是自动完成.拖动对话框时,我在自动完成小部件本身上看不到任何间接事件.
如果您的问题是通过ID引用自动完成小部件,则可以使用基于上下文的选择器,例如使用$('.ui-autocomplete-input', this)而不是$('#tags')在对话框的事件处理程序中.