簡體   English   中英

Javascript 鼠標滾輪事件停止

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM