[英]Javascript mouse wheel event stop
有没有办法在调用后停止鼠标滚轮事件以停止触发? 我正在尝试使用此逻辑在页面之间切换(一次一页/就像每个滚动一页但滚动应该发生在顶部 500 毫秒),但是即使我删除了侦听器,事件也会继续调用我的方法:
const listenToWheel = (event) => {
console.log("SCROLL");
removeScrollEventListener();
console.log("DO STUFF");
if (event.deltaY < 0) {
getPreviousPage();
} else if (event.deltaY > 0) {
getNextPage();
}
setTimeout(() => {
addScrollEventListener();
}, 800);
};
const addScrollEventListener = () => {
window.addEventListener("wheel", listenToWheel);
};
const removeScrollEventListener = () => {
window.removeEventListener("wheel", listenToWheel);
};
尝试像这样编写最后两个块:
const addScrollEventListener = () => {
window.addEventListener("mousewheel", listenToWheel);
};
const removeScrollEventListener = () => {
window.removeEventListener("mousewheel", listenToWheel);
};
因为某些浏览器更喜欢鼠标滚轮事件而不是滚轮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.