2015-02-09 246 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「當指向設備(通常爲小鼠)的滾輪按鈕旋轉輪事件。此事件替換非標準棄用滾輪事件」。