Hỏi về event trong js

em có 2 event wheel và move trong js . Làm sao khi đang sử dụng event wheel thì event move ko hoạt động nhỉ ?

element.addEventListener("wheelmouse",function(){});
element.addEventListener("mousemove",function(){});

tks

Đặt biến toàn cục để xác định là có đang lăn chuột không.

Nhưng…

…sự kiện lăn chuột và di chuyển chỉ xảy ra trong tích tắc, không xác định bắt đầu và kết thúc, bạn xác định trong sự kiện là khi nào?
Không như sự kiện phím, sẽ xảy ra theo trình tự:
keydown -> keypress -> keyup
Có khoảng bắt đầu -> trong khi (đang) -> kết thúc.
Sự kiện lăn chuột chỉ: mousewheel. Di chuyển chỉ là: mousemove.

2 Likes

Bạn có thể dùng biết toàn cục + timer.
Ví dụ:

  • khi scroll thì scrolling = true + set timeout khoảng 200ms chuyển scrolling = false
    nếu mà trong 200ms phát sinh tiếp sự kiện wheelmouse thì clear timer cũ và tạo timer mới.
  • Trong xử lý sự kiện mousemove nếu mà đang scrolling = true thì bỏ qua.
    Làm tương tự như vậy cho mousemove
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?