无法检测到哪个李徘徊

时间:2016-04-07 08:00:21

标签: javascript jquery html

它很简单,我已经做了很多次,但我不知道为什么它现在不起作用。

HTML

<div class="box" style="height: 50%;">
    <input type="search" class="input searchBox" placeholder="Search for items">
    <ul class="SearchResults clearfix"></ul>
</div>

JS:

// SearchBox implementation
var searchBox = $(".searchBox").bind('keyup ', function () {

    var length = searchBox.val().length;

    if (searchBox.val().length > 0) {
        $.ajax({
            url: "/Invoice/GetProducts",
            type: "POST",
            data: { searchquery: searchBox.val() },
            success: function (result) {
                $(".SearchResults").append(result);
            }

        });
    } else {
        $(".SearchResults").empty();
    }

    //$(".SearchResults").text(searchBox.val().length);
});

然后是这个简单的悬停代码

$(".SearchResults li").hover(function () {            
    alert();
});

我确保此脚本正在运行。 li被添加,除了我所做的一切,我无法检测到悬停,如果我将代码更改为悬停ul而不是li,它是如何提醒的。

1 个答案:

答案 0 :(得分:3)

您应该将event delegation用于动态生成的元素,并在事件中使用this来获取悬停的元素。

$(".SearchResults").on('mouseenter', 'li', function () {
    alert(this);
})