Javascript Can';我没发现哪个李在盘旋
这很简单,我过去也做过很多次,但我不知道为什么现在不行 HTMLJavascript Can';我没发现哪个李在盘旋,javascript,jquery,html,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> 然后是这个简单的悬停代码 $
<div class="box" style="height: 50%;">
<input type="search" class="input searchBox" placeholder="Search for items">
<ul class="SearchResults clearfix"></ul>
</div>
然后是这个简单的悬停代码
$(".SearchResults li").hover(function () {
alert();
});
我已确保此脚本正在运行。添加了li,但无论我做什么,我都无法检测到li hover,如果我将代码更改为hover ul而不是li,它会发出警报。您应该使用动态生成的元素,并且在事件中也使用此来获取悬停的元素
$(".SearchResults").on('mouseenter', 'li', function () {
alert(this);
})
$(“.SearchResults li”).hover(函数(){console.log(this);})
处理程序中的此
将引用悬停的li
元素您应该将事件委托给静态UL容器,以便处理正在创建的动态元素sli的事件感谢它的工作。所以,如果我动态添加元素,我必须使用事件委派?是的。就这样@Waleedvar li=$(this+“.name”).text();给我一个错误。name是每个liTry中的一个跨距,如下所示:var li=$(“.name”,this).text()
@WaleedThis也有效:var li=$(this);var name=li.children('.name').text()代码>
$(".SearchResults").on('mouseenter', 'li', function () {
alert(this);
})