我有一个与jQuery 1.8.3一起使用的功能但是当我升级到1.9.1时它不再工作了,但是文档没有变化.有人知道如何解决这个问题吗?
$(document).on("hover", "#cart-left", function(){
$("#cart").addClass('active');
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/michalcerny/R9HZp/
感谢你的支持!
在1.9.1你应该使用 mouseover
$(document).on("mouseover", "#cart-left", function(){
$("#cart").addClass('active');
});
Run Code Online (Sandbox Code Playgroud)
hover速记的状态
从jQuery 1.8开始,hover速记已被弃用.请参阅jQuery on()文档:
自jQuery 1.8开始不推荐使用:名称"hover"用作字符串"mouseenter mouseleave"的简写
从jQuery 1.9开始,hover速记不受支持.请参阅jQuery 1.9升级指南
替代
在您的情况下,这意味着您应该使用该mouseenter事件.例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
Run Code Online (Sandbox Code Playgroud)
请参阅jsFiddle演示
更好地利用 on()
值得注意的是,除非传递给的选择器on()引用动态添加到DOM的元素(即在页面加载之后),否则不需要将处理程序委托给document.相反,在这种情况下,您可以将处理函数直接绑定到元素,如下所示:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |