2015-02-09 247 views
3

在最新的Chrome有两个滚轮事件:wheelmousewheel轮事件brokes鼠标滚轮的JavaScript

所以此代码的工作好:

document.addEventListener('mousewheel', function() { 
    console.log('mousewheel fires'); 
}, false); 

但在这种情况下:

document.addEventListener('mousewheel', function() { 
    console.log('mousewheel never fires'); 
}, false); 
document.addEventListener('wheel', function() { 
    console.log('wheel fires'); 
}, false); 

mousewheel不起作用。

因此,如果我编写一些第三方脚本(例如jquery插件)并使用mousewheel,那么它在使用wheel事件的站点上不起作用。

相反,如果我在脚本中使用wheel事件 - 它会打破使用mousewheel的网站。

怎么在这种情况下怎么办? (并对我的英语感到抱歉)。

更新

由于TintuÇ拉朱:

作为每MDN“当指向设备(通常为小鼠)的滚轮按钮旋转轮事件被触发该事件替换非标准的弃用鼠标滚轮事件“。

+0

上一次我不得不使用mousewheel事件,这是一个巨大的痛苦,让它在所有浏览器中都一样工作。这个插件拯救了我的生命:https://github.com/jquery/jquery-mousewheel/ – BrendanMullins 2015-02-09 11:55:06

+2

As每个MDN“时,轮转事件将在指针设备(通常是鼠标)的滚轮按钮旋转时触发。此事件取代了非标准的弃用鼠标滚轮事件。 – 2015-02-09 12:03:38

回答

0

作为每MDN“当指向设备(通常为小鼠)的滚轮按钮旋转轮事件。此事件替换非标准弃用滚轮事件”。