我想用自动消化功能创建searchtoolbar。我不想使用jquery自动完成插件。我已经创建了用于从jquery发送和接收信息到php以及从php到jquery的脚本。我有一切,但我想添加一个使用箭头导航hoints'列表的可能性。它不起作用。我认为我的问题是jquery看不到动态添加'li'。 你有什么想法吗?
HTML:
<section id="search_toolbar_input">
<section class="searchToolbarResultBox">
<ul class="searchToolbarResultBoxList" id="thislist">
<li><input placeholder="Szukaj..." type="text" id="topper_search" class="searchToolbar" name="topper_search"></li>
</ul>
</section>
</section>
jQuery的:
$("body").on("focus","ul.searchToolbarResultBoxList li",function() {
var li = $("ul.searchToolbarResultBoxList li");
var selected;
$("ul.searchToolbarResultBoxList li").on("keyup",function(e){
if(e.which == 40)
{
$('ul').listview();
li.eq(1).css('backgroundColor','blue');
if(selected)
{
var tmp = selected;
selected.removeClass("selected");
selected = tmp.next().addClass("selected");
}
else {
selected = li.eq(0).addClass("selected");
}
}
});
});
答案 0 :(得分:0)
将$("ul.searchToolbarResultBoxList li").on("keyup", function(e){})
替换为$("ul.searchToolbarResultBoxList").on("keyup", "li", function(e){})
这会将事件监听器绑定到ul而不是每个li。但是每个li的事件仍然会“冒泡”到ul,而this
仍将引用li。