看来
_renderMenu
在之前执行
_renderItem
所以
您可以在中添加新项目
_renderMenu(渲染菜单)
并在
_renderItem公司
。
$.widget( "custom.autocomplete", $.ui.autocomplete, {
_renderMenu : function( ul, items ) {
var that = this;
items.push({label:"show all", value:"", isShowAll:true})
$.each( items, function( index, item ) {
that._renderItemData( ul, item );
});
},
_renderItem: function( ul, item ) {
var li = $( "<li>" )
.attr( "data-value", item.value )
.append( item.label )
.appendTo( ul );
if(item.isShowAll===true){
li.on( "click", function() {
console.log("ShowAll selected");
});
}
return li;
}
});
注意:我正在使用
$.widget
而不是原型,但我想结果应该是一样的。