Предотвращение значения по умолчанию для пассивного значения по умолчанию - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь предотвратить прокрутку по умолчанию.

Сначала я попробовал это, из этих ответов

$(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>

Конечно. Я нашел эти вопросы и добавил их решение.

$(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)

Единственный связанный с этим вопрос, который я смог найти , просто сказал мне удалить {passive:false}, что означает, что я вернулся к своей первоначальной проблеме.

Что я делаю не так? Как я могу предотвратить поведение по умолчанию здесь?

1 Ответ

0 голосов
/ 18 апреля 2019

Похоже на неясную ошибку jQuery - почему бы просто не отказаться от jQuery и использовать вместо этого встроенное событие?

window.addEventListener('wheel', e => e.preventDefault(), { passive: false });
body {
  height: 2000px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...