![](/img/trans.png)
[英]Dealing with bizarrely inverted wheel event deltaX in Microsoft Edge browser?
[英]horizontal mouse scroll deltaX reversed on Microsoft Edge, how to detect?
https://jsfiddle.net/swek0epj/
document.addEventListener('wheel', function(e) {
alert(e.deltaX);
})
我通过在各种浏览器中向右推动鼠标滚动来测试以上代码,结果是:
Chrome版本48:25
Firefox 44版本: 0.75
Internet Explorer版本11: 14.24
Microsoft Edge版本13: -21.36
问题是,我需要检测侧面滚动导航的方向,并且Edge上的方向相反(为负)
是否有任何建议使用不使用过时的MouseWheelEvent(不带有wheelDeltaX)或MouseScrollEvent的跨浏览器?
https://jsfiddle.net/swek0epj/3/
一个修补程序,用于检测Microsoft Edge浏览器并反转符号:
document.addEventListener('wheel', function(e) {
deltaX = e.deltaX;
// Revert the sign if Microsoft Edge. When they fix it, remove:
if (navigator.userAgent.match(/Edge\/\d+/)) {
deltaX = -deltaX;
}
if (deltaX > 0) {
// right horizontal scroll
...
}
if (deltaX < 0) {
// left horizontal scroll
...
}
})
请注意,这不是一个可靠的解决方案。 即,如果Microsoft Edge修复了该错误,则必须删除第一个if块以进行符号还原。
浏览器检测来自: 使用javascript检测Microsoft的edge或spartan
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.