在jQuery UI自动完成中关闭element.style
我希望定制jQueryUI的自动完成结果的CSS。问题在于,每当在输入框中输入查询时,插件会自动生成动态元素样式(例如,宽度、顶部、左侧、右侧值)在jQuery UI自动完成中关闭element.style,jquery,jquery-ui,jquery-plugins,jquery-autocomplete,jquery-ui-autocomplete,Jquery,Jquery Ui,Jquery Plugins,Jquery Autocomplete,Jquery Ui Autocomplete,我希望定制jQueryUI的自动完成结果的CSS。问题在于,每当在输入框中输入查询时,插件会自动生成动态元素样式(例如,宽度、顶部、左侧、右侧值) 我不想要任何元素样式,我不知道如何在插件的代码中更改它。有什么想法吗?或者,也许有一种方法可以在不改变插件代码的情况下,使用不同的CSS超越元素样式。这样的想法也会受到欢迎。插件生成的结果框完全可主题化。每个元素都有一个类名,如下所示 <input class="ui-autocomplete-input"/> <ul class
我不想要任何元素样式,我不知道如何在插件的代码中更改它。有什么想法吗?或者,也许有一种方法可以在不改变插件代码的情况下,使用不同的CSS超越元素样式。这样的想法也会受到欢迎。插件生成的结果框完全可主题化。每个元素都有一个类名,如下所示
<input class="ui-autocomplete-input"/>
<ul class="ui-autocomplete ui-menu ui-widget ui-widget-content ui-corner-all">
<li class="ui-menu-item">
<a class="ui-corner-all">item 1</a>
</li>
<li class="ui-menu-item">
<a class="ui-corner-all">item 2</a>
</li>
<li class="ui-menu-item">
<a class="ui-corner-all">item 3</a>
</li>
</ul>
-
以下是我的方法。我创建了另一个元素并“隐藏”了自动完成结果。为了触发autocomplete中的正常事件,可以将autocomplete results容器的宽度和高度设置为0,并使用浮点数(不确定是否需要),然后将溢出设置为hidden。当drop item容器出现时,我清除结果容器。当项目被渲染时,_renderItem函数会将其附加到结果容器中
$('#faq-search').autocomplete({'source': questions}, {
matchContains: true,
appendTo: "#faq-search-results .autocomplete-results",
change: function(e, ui){
},
close: function(e, ui){
},
search: function(e, ui){
$('#faq-search-results > ul').empty();
},
select: function(e, ui){
location.assign(ui.item.link);
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $("<li></li>")
.data("item.autocomplete", item)
.append('<a href="'+ item.link +'">'+ item.value +'</a>')
.appendTo($('#faq-search-results > ul'));
};
$(“#常见问题搜索”).autocomplete({'source':questions}{
对,,
附件:“#常见问题解答搜索结果。自动完成结果”,
更改:功能(e、ui){
},
关闭:功能(e、ui){
},
搜索:功能(e、ui){
$(“#常见问题解答搜索结果>ul”).empty();
},
选择:功能(e、ui){
分配位置(ui.item.link);
}
}).数据(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“”)
.data(“item.autocomplete”,item)
.append(“”)
.appendTo($(“#常见问题搜索结果>ul”);
};