在触发自定义JS触发器后无法选择目标

时间:2014-09-10 20:31:11

标签: jquery triggers target siblings

以下是触发器和目标的总体布局。

<div id="search">
    <form id="searchForm"></form>
</div>
<div class="searchResults"></div>

用户输入搜索词后,searchResults div将如下填充:

<div class="searchResults">

<ul>

    <li>Result One</li>
    <li>Result Two</li>
    <li>Result Three</li>

</ul>

</div>

触发器设置如下:

    $('#searchForm').trigger('search.categories.updated');

我创建了这个简单的脚本,当用户点击其中一个动态生成的搜索结果时,尝试触发警报:

    $(document).on('search.categories.updated', function(e){

                var target = $(e.target),

                 searchtarget = target.find('.searchResults + ul li a');


                searchtarget.click(function() {

                    alert("yay it works!");

                    });

            });

不幸的是,这不起作用。我认为这与searchtarget变量不正确地定位sibiling div有关。任何想法?

1 个答案:

答案 0 :(得分:1)

searchtarget变量设置不正确,是的。它应该是:

searchtarget = $('.searchResults ul li');

(在li内搜索ul内的.searchResults

Fiddle