#javascript
#javascript
Вопрос:
Я создал сайт, который изменит отображение изображений при прокрутке мыши. Он работал до сегодняшнего утра на моем локальном компьютере, но внезапно остановился. Когда я проверяю консоль разработчика, я получаю сообщение об ошибке, в котором говорится «[Вмешательство] Невозможно предотвратить Default внутри пассивного прослушивателя событий из-за того, что цель обрабатывается как пассивная. Смотрите https://www.chromestatus.com/features/6662647093133312«
Я прочитал информацию по предоставленному URL и все еще не понимаю, как я могу отключить эту функцию. В моем коде у меня есть следующее:
var changeImage = function changeImage(event) {
event.preventDefault();
if (brochure.waitForDelay === false) {
window.onwheel = function () {
return false;
};
brochure.waitForDelay = true;
if (event.deltaY < 0) {
scrollUp();
} else {
scrollDown();
}
setTimeout(function () {
brochure.waitForDelay = false;
window.onwheel = function () {
return true;
};
}, 1250);
} else {
return;
}
};
var determineScrollDirection = function determineScrollDirection() {
document.addEventListener('wheel', changeImage, { passive: false });
};
В determineScrollDirection я установил passive как false и попытался вызвать preventDefault в функции changeImage, но я все еще получаю то же сообщение об ошибке.
Ответ №1:
Я смог исправить эту проблему, удалив следующую строку:
window.onwheel = function () {
return false;
};