它与网页或其事件无关;这是特定的系统行为,我认为不能从 javascript 级别阻止它。
如果您想禁用它 - 转到:Apple Logo > Preferences > Trackpad > More gestures
并取消选中Swipe between pages
// 编辑
好的,我用谷歌搜索了一下,似乎我错了 -有一个解决方案,基本上很简单:
document.body.addEventListener('mousewheel', function(e) {
e.stopPropagation();
var max = this.scrollWidth - this.offsetWidth; // this might change if you have dynamic content, perhaps some mutation observer will be useful here
if (this.scrollLeft + e.deltaX < 0 || this.scrollLeft + e.deltaX > max) {
e.preventDefault();
this.scrollLeft = Math.max(0, Math.min(max, this.scrollLeft + e.deltaX));
}
}, false);
刚刚在 OSX Chrome 67 上测试过