我已經注意到了鼠標滾輪使用全身,而不是通過使用最新版本的Chrome的任何其他元素時鼠標滾輪時不會觸發事件。 (38.0.2125.104米)。鼠標滾輪事件不會觸發了身體在Chrome
使用絕對定位元素時會發生這種情況。
您可以在this fiddle中通過滾動白色區域而不是紅色區域來重現它。
任何想法爲什麼會發生這種情況?任何解決方案?對於小提琴
使用的代碼:
addMouseWheelHandler();
function addMouseWheelHandler() {
if (document.addEventListener) {
document.addEventListener("mousewheel", MouseWheelHandler, false); //IE9, Chrome, Safari, Oper
document.addEventListener("wheel", MouseWheelHandler, false); //Firefox
} else {
document.attachEvent("onmousewheel", MouseWheelHandler); //IE 6/7/8
}
}
function MouseWheelHandler(e) {
e = window.event || e;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.deltaY || -e.detail)));
console.log("mouse wheel!" + delta);
return false;
}
警告:看document.body.scrollHeight因爲改變不是微不足道的。我在體內添加了一個包裝元素並觀察該元素上的鼠標滾輪,取得了較好的成功。 – ryascl 2015-07-21 13:55:03