jQuery函数.on适用于1.8.3,但不适用于1.9.1
jQuery function .on works in 1.8.3 but not in 1.9.1
我有一个函数可以与jQuery 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()
文档:
自jQuery 1.8起已弃用:名称"hover"用作字符串"mouseenter-moseleave"的缩写
从jQuery 1.9开始,hover
简写为不受支持。请参阅jQuery 1.9升级指南
替代
在您的情况下,这意味着您应该使用mouseenter
事件。例如:
$(document).on("mouseenter", "#cart-left", function(){
$("#cart").addClass('active');
});
请参阅jsFiddle演示
更好地利用on()
同样值得注意的是,除非传递给on()
的选择器引用动态添加到DOM的元素(即页面加载后),否则不需要将处理程序委托给document
。相反,在这种情况下,您可能可以将处理程序函数直接绑定到元素,如下所示:
$("#cart-left").on("mouseenter", function(){
$("#cart").addClass('active');
});
问题不在于"on"函数,而在于1.9.1中已弃用(并删除)的"hover"伪事件:http://jquery.com/upgrade-guide/1.9/#hover-伪事件
相关文章:
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- JavaScript不显示剩余字符,但适用于其他页面
- 我如何完善这个Javascript代码,使其只适用于来自图像的链接(而不是来自文本的链接)
- 为什么这只适用于身体部分而不是头部
- 为什么不't此正则表达式适用于重复出现的对
- document.getElementById 对内部 html 的调用适用于 $_POST 和 $_GET 变量,但不
- JavaScript 位置适用于本地主机而不是服务器
- Rally App SDK 2.0:Rallymultiobjectpicker,适用于不显示displayField的
- jQuery事件在Mozilla上不起作用,并且适用于其他浏览器
- Angular.js - 控制器不为索引执行,适用于其余模板
- D3 .on 更改适用于文本而不是图表
- Zillow 数据 - json_encode不起作用 - 适用于常规变量
- 弹出模式仅适用于表格中的第一个元素,第二次单击后不会再次打开
- Phonegap Android项目适用于模拟器,而不是实际的手机
- ajax jonp 不应该适用于 请求的上不存在“访问控制-允许源”标头
- AngularJS:ng-单击不起作用,适用于<按钮>
- Javascript不会在移动设备上加载.适用于桌面
- 为什么我的代码适用于高度:100px,而不是高度:100%
- 拖放区.js + Laravel-多文件上传不起作用(仅适用于一个文件)
- 哪些限制适用于不透明响应