我有一个与jQuery 1.8.3兼容的函数,但是当我升级到1.9.1时,它不再工作,但文档没有变化。有人知道如何解决这个问题吗?jQuery函数.on在1.8.3中工作,但不在1.9.1中
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
http://jsfiddle.net/michalcerny/R9HZp/
谢谢支持!
我有一个与jQuery 1.8.3兼容的函数,但是当我升级到1.9.1时,它不再工作,但文档没有变化。有人知道如何解决这个问题吗?jQuery函数.on在1.8.3中工作,但不在1.9.1中
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
http://jsfiddle.net/michalcerny/R9HZp/
谢谢支持!
在1.9.1你应该使用mouseover
$(document).on("mouseover", "#cart-left", function(){
$("#cart").addClass('active');
});
的hover
速记
状态在jQuery 1.8的hover
速记已经弃用。见jQuery on()
documentation:
弃用的jQuery 1.8:名称用作字符串 “的mouseenter鼠标离开”
在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');
});
的问题是没有对“上”的功能,而是“悬停”伪事件有在1.9.1中被弃用(并被移除):http://jquery.com/upgrade-guide/1.9/#hover-pseudo-event