0

我想创建带有自动提示的搜索工具栏。我不想使用 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");
                }
            }
        });
    });
4

1 回答 1

0

替换$("ul.searchToolbarResultBoxList li").on("keyup", function(e){})$("ul.searchToolbarResultBoxList").on("keyup", "li", function(e){})

这会将事件侦听器绑定到 ul 而不是每个 li。但是来自每个 li 的事件仍然会“冒泡”到 ul,并且this仍然会引用 li。

文档

于 2013-06-23T15:02:23.137 回答