它很简单,我已经做了很多次,但我不知道为什么它现在不起作用。
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,它是如何提醒的。
答案 0 :(得分:3)
您应该将event delegation用于动态生成的元素,并在事件中使用this
来获取悬停的元素。
$(".SearchResults").on('mouseenter', 'li', function () {
alert(this);
})