Javascript jQuery函数.on在1.8.3中起作用,但在1.9.1中不起作用
我有一个与jQuery 1.8.3配合使用的函数,但是当我升级到1.9.1时,它就不再工作了,但是文档中没有任何变化。有人知道怎么解决这个问题吗Javascript jQuery函数.on在1.8.3中起作用,但在1.9.1中不起作用,javascript,jquery,Javascript,Jquery,我有一个与jQuery 1.8.3配合使用的函数,但是当我升级到1.9.1时,它就不再工作了,但是文档中没有任何变化。有人知道怎么解决这个问题吗 $(document).on("hover", "#cart-left", function(){ $("#cart").addClass('active'); }); 谢谢你的支持 在1.9.1中,您应该使用mouseover $(document).on("mouseover", "#cart-left", function(){
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
谢谢你的支持 在1.9.1中,您应该使用
mouseover
$(document).on("mouseover", "#cart-left", function(){
$("#cart").addClass('active');
});
悬停的状态速记 从jQuery 1.8开始,
悬停
速记已被弃用。见:
从jQuery 1.8起已弃用:名称“hover”用作字符串“mouseenter mouseleave”的缩写
从jQuery 1.9开始,不支持悬停
速记。见
备选方案
在您的情况下,这意味着您应该使用mouseenter
事件。例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
请参见
更好地利用()上的
还值得注意的是,除非传递给on()
的选择器引用动态添加到DOM中的元素(即页面加载后),否则无需将处理程序委托给文档。相反,在这种情况下,您可能可以将处理程序函数直接绑定到元素,如下所示:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
问题不在于“on”函数,而在于1.9.1中已弃用(并删除)的“hover”伪事件: