我想创建带有自动搜索功能的搜索工具栏。我不想使用jquery自动完成插件。我已经创建了从jquery到php以及从php到jquery发送和接收信息的脚本。我什么都有,但我想增加一种可能性,使用箭头浏览霍因茨的列表。它不起作用。我认为我的问题是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");
}
}
});
});
用$("ul.searchToolbarResultBoxList").on("keyup", "li", function(e){})
替换$("ul.searchToolbarResultBoxList li").on("keyup", function(e){})
这将事件侦听器绑定到ul,而不是每个li。但是来自每个li的事件仍然会"冒泡"到ul,并且this
仍然会引用li。
文档