对不起,我没有任何简单的答案来回答你的问题,我检查了插件源代码并没有找到任何机制让你想要你想要的。我认为您必须自己更新此插件才能使其按您的意愿工作。
想法是将你的回调添加到options 参数,然后让插件使用这些回调。首先,您必须修改插件代码。转到创建负责显示/隐藏自动完成控件的类的函数:
$.Autocompleter.Select = function (options, input, select, config) {
如果你向下滚动,你可以看到这个函数返回一个带有show() 和hide() 方法的对象。您可以添加以下代码:
hide: function() {
...
options.showCallback && options.showCallback(); // Invoke callback function if set
},
...
show: function() {
...
options.hideCallback && options.hideCallback(); // Invoke callback function if set
},
最后,当您创建自动完成功能时,您应该将回调添加到您的选项中:
$("#myTextBox").autocomplete("http://...",
{
showCallback : function() { /* do what you want here */ },
hideCallback : function() { /* do what you want here */ }
});
根本没有经过测试,这只是一个快速而肮脏的解决方案。我希望这会有所帮助。