我有一个与jQuery 1.8.3一起使用的功能,但是当我升级到1.9.1时,它不再起作用,但是文档没有变化。有人知道如何解决这个问题吗?
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
http://jsfiddle.net/michalcerny/R9HZp/
感谢您的支持!
答案 0 :(得分:8)
在1.9.1中,您应该使用mouseover
$(document).on("mouseover", "#cart-left", function(){
$("#cart").addClass('active');
});
答案 1 :(得分:5)
hover
简写
从jQuery 1.8开始,hover
简写已被弃用。请参阅jQuery on()
documentation:
从jQuery 1.8开始不推荐使用:名称“hover”用作字符串“mouseenter mouseleave”的简写
自jQuery 1.9起,hover
简写不受支持。请参阅jQuery 1.9 Upgrade Guide
<强>替代强>
在您的情况下,这意味着您应该使用mouseenter
事件。例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
更好地利用on()
值得注意的是,除非传递给on()
的选择器引用动态添加到DOM的元素(即页面加载后),否则无需委托处理程序document
。相反,在这种情况下,您可以将处理函数直接绑定到元素,如下所示:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
答案 2 :(得分:2)
问题不在于“on”函数,而是在1.9.1中已弃用(和删除)的“悬停”伪事件:http://jquery.com/upgrade-guide/1.9/#hover-pseudo-event