event.wheelDelta 返回未定义 [英] event.wheelDelta returns undefined

查看:15
本文介绍了event.wheelDelta 返回未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图在我的灯箱打开时禁用我的页面上的滚动,我发现这个非常有用的脚本正是这样做的.(http://jsfiddle.net/mrtsherman/eXQf3/3/),不幸的是,当我在我的自己的页面,它也禁用了我的灯箱中的滚动.我开始用警报调试代码只是为了发现 event.wheelDelta 在我的页面上返回未定义",而在 JSFiddle,返回-120.

So I'm trying to disable scrolling on my page when my lightbox opens, and I found this really usefull script that does exactly that. (http://jsfiddle.net/mrtsherman/eXQf3/3/), unfortunately, when I use it on my own page, it disabled scrolling in my lightbox as well. I started to debug the code with alerts only to find out that event.wheelDelta returns "undefined" on my page, while in the JSFiddle, it returns -120.

推荐答案

jQuery 事件处理程序中的 event 对象不反映真实事件.wheelDelta是一个非标准的事件属性IE和Opera,可以通过jQuery事件的originalEvent属性获得.

The event object in a jQuery event handler does not reflect the real event. wheelDelta is a non-standard event propertyIE and Opera, available through the originalEvent property of the jQuery event.

在 jQuery 1.7+ 中,detail 属性在 jQuery 事件对象中不可用.因此,您还应该在 DOMMouseScroll 事件中使用 event.originalEvent.detail 来设置此属性.此方法向后兼容较旧的 jQuery 版本.

In jQuery 1.7+, the detail property is not available at the jQuery Event object. So, you should also use event.originalEvent.detail to for this property at the DOMMouseScroll event. This method is backwards-compatible with older jQuery versions.

event.originalEvent.wheelDelta

演示:http://jsfiddle.net/eXQf3/22/
另见:http://api.jquery.com/category/events/event-object/

这篇关于event.wheelDelta 返回未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆