我正在尝试防止默认的滚动行为。
开始尝试的$(window).on('mousewheel DOMMouseScroll', wheel);
function wheel(e) {
e.preventDefault()
}
这导致此错误:
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>
好的。我找到了these questions并添加了他们的解决方案。
$(window).on('mousewheel DOMMouseScroll', wheel, {passive:false});
现在,我遇到以下错误:
Uncaught TypeError: ((p.event.special[l.origType] || {}).handle || l.handler).apply is not a function
at dispatch (0dfbbab736b8.js:formatted:1850)
at h (0dfbbab736b8.js:formatted:1685)
The only related question I could find只是告诉我删除{passive:false}
,这意味着我又回到了最初的问题。
我在做什么错?如何在此处防止默认行为?
答案 0 :(得分:0)
看起来像一个晦涩的jQuery错误-为什么不抛弃jQuery而使用内置事件呢?
window.addEventListener('wheel', e => e.preventDefault(), { passive: false });
body {
height: 2000px;
}