覆盖_renderItem和_renderMenu [英] Override both _renderItem and _renderMenu
本文介绍了覆盖_renderItem和_renderMenu的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何仅对#global-search
覆盖_renderItem?
How can I override _renderItem for only #global-search
?
$("#global-search").autocomplete({
//
})._renderMenu = function(ul, items) {
var self = this;
ul.append('<table class="ac-search-table"></table>');
$.each( items, function( index, item ) {
self._renderItem( ul.find("table"), item );
});
});
推荐答案
请记住,您可以通过data
解决由jQuery UI工厂方法(_create
)创建的窗口小部件的特定实例:
Remember that you can address the particular instance of the widget created by jQuery UI factory method (_create
) via data
:
var widgetInst = $("#global-search").autocomplete({}).data('ui-autocomplete');
...,或者,从jQuery UI 1.12开始,通过 instance()辅助方法:
... or, since jQuery UI 1.12, via instance() helper method:
var widgetInst = $("#global-search").autocomplete('instance');
因此,您可以使用自己的方法覆盖其方法:
Thus you're able to override its methods with your own:
widgetInst._renderMenu = function(ul, items) {
var self = this;
ul.append('<table class="ac-search-table"></table>');
$.each( items, function( index, item ) {
self._renderItem( ul.find("table"), item );
});
};
这篇关于覆盖_renderItem和_renderMenu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文