我很久以来一直在使用JQueryUI。我正在重写自动完成小部件并尝试在内部订阅“select”事件,但由于某种原因(可能做错了),当菜单中的项目被选中时,它永远不会达到“选择”处理程序:
$.widget( "myAutocomplete", $.ui.autocomplete, {
_create: function(){
var element = this.element;
this._super();
this._on(element, {
'select': function (){
// NOTE: never riches this
}
});
}
});
答案 0 :(得分:0)
没有select
事件。 select
是为方便起见而提供的选项;事件的实际名称将是myautocompleteselect
:
$.widget( "my.myAutocomplete", $.ui.autocomplete, {
_create: function(){
var element = this.element;
this._super();
this._on(element, {
'myautocompleteselect': function (){
// will now reach this
}
});
}
});
相关位位于“事件”部分下的http://api.jqueryui.com/jQuery.widget/中:
对于大多数小部件,当触发事件时,名称以小部件名称为前缀并以小写为前缀。
此外,您在窗口小部件名称中缺少命名空间(“namespace.myAutocomplete”)。如果您尝试使用它,则会出现错误