我正在尝试使用滚轮水平移动页面。我在 Chrome 中获得了成功,但是当我尝试在 IE 上运行它时,它不起作用。
然后我在msdn网站上看到event.wheelDelta用于获取鼠标滚轮绕y轴旋转的距离。 但当我看到日志的控制台窗口时,它也会显示未定义。 console.log(event.wheelDelta);
这是我的 Java 脚本
$(document).ready(function () {
function extractDelta(e) {
console.log(e.wheelDelta);
if (e.wheelDelta) {
return e.wheelDelta;
}
if (e.originalEvent.detail) {
return e.originalEvent.detail * -40;
}
if (e.originalEvent && e.originalEvent.wheelDelta) {
return e.originalEvent.wheelDelta;
}
}
$(window).on("DOMMouseScroll wheel", function (event) {
var delta = extractDelta(event);
var $this = $(this);
//debugger;
//var delta = event.detail < 0 || event.originalEvent.wheelDelta > 0 ? 1 : -1;
console.log(delta);
if (delta > 0) {
$this.scrollLeft(($this.scrollLeft() - 400));
} else {
$this.scrollLeft(($this.scrollLeft() + 400));
}
//this.scrollLeft -= (this.scrollLeft + 500);
event.stopPropagation();
event.preventDefault();
});
请谁能解释一下为什么这在 IE 上不起作用。我正在使用 IE 11、jQuery 2.0.3 和 jQuery MouseWheel 3.0.4。
最佳答案
Jquery 不传递 IE 事件对象。如果您想要 MS 特定属性,则必须使用 addeventlistener
而不是 on
关于javascript - MouseWheel 事件在 IE 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20404984/