我们稍微定制了 jQuery 的自动完成功能,在change
事件处理程序中,我们需要访问输入来调用我们添加的函数。参数是被选中的ui
项目,但是如果用户输入了一些随机的文本,则不会选中任何项目并且ui.item
为空。所以我不能使用遍历 DOM 基于ui.item
.
简而言之,我们(实际上是这个项目的过去的某个人)所做的就是修改 jquery ui 文件:
$.widget( "ui.autocomplete", {
// original code here
ourCustomMethod: function() {}
});
现在我们已经构建了一个组合框,我们在其中做(简化):
var self = this;
var input = this.input = $("<input>")
.autocomplete({
change: function(event, ui) {
if (!ui.item) {
// I want to call the ourCustomMethod here
// I can't use the parents of ui.item because it's null
}
}
});
那么我怎样才能访问ourCustomMethod
?我猜到了,self.input
但不能完全把我的手指放在它上面。