对于动态创建的内容,我使用' on'处理事件的方法。单击时可以正常工作,但不能悬停。
以下是代码:
$(document).on('click', 'li', function(){
alert('a');
});
工作但是
$(document).on('hover', 'li', function(){
alert('a');
});
没有。
代码错了吗?或者问题出现在我的设置上的其他原因。
答案 0 :(得分:4)
从1.9开始,不再支持事件名称字符串“hover”作为“mouseenter mouseleave”的同义词
您需要使用mouseenter
和mouseleave
事件
$(document).on('mouseenter', 'li', function(){
alert('a');
});
$(document).on('mouseleave', 'li', function(){
alert('a');
});
您也可以使用替代语法
$(document).on({
mouseenter: function () {
},
mouseleave: function () {
}}, "li");
答案 1 :(得分:2)
不要将“hover”伪事件名称与.hover()方法混淆
您应该使用mouseenter
$(document).on('mouseenter', 'li', function(){
alert('a');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<ul>
<li>sdada</li>
</ul>