jquery .click函数没有被触发

joh*_*een 0 javascript jquery click jquery-selectors

我有以下HTML和Javascript代码.我正在尝试建立一个搜索建议系统.当用户在输入框'site_search'中键入并插入时,使用ajax动态检索无序列表'search_suggest'中的列表项.

<form name="search_site_form" method="get" action="search.php">
        <input id="site_search" name="q" class="search_input input" autocomplete="off" value="Search the site" type="text"/>

    <ul id="search_suggest">
    </ul>
    <input value=" " type="submit" class="search_submit"/>
    <script type="text/javascript">
    <!--
        $("ul#search_suggest>li").click(function(){ 
        alert('123');
    });
    //-->
    </script>
</form>
Run Code Online (Sandbox Code Playgroud)

但是,单击search_suggest中的列表项不会触发单击功能.知道为什么吗?

Ode*_*ded 6

将click事件添加到页面后,需要将click事件绑定到列表项.

在将任何列表项添加到页面之前,表达式$("ul#search_suggest>li")找不到任何内容,因此没有元素绑定到click事件.

你需要使用.live那个:

现在和将来,为当前选择器匹配的所有元素附加事件处理程序

如下:

<script type="text/javascript">
<!--
    $("ul#search_suggest>li").live('click', function(){ 
    alert('123');
});
//-->
Run Code Online (Sandbox Code Playgroud)