Tôi muốn có JavaScript sạch và đẹp cho sự kiện con lăn, chỉ hỗ trợ phiên bản mới nhất của các trình duyệt phổ biến mà không có mã cũ cho các phiên bản lỗi thời mà không có bất kỳ khung công tác JS nào.Sự kiện quay số trong các trình duyệt hiện đại
Sự kiện quay số được giải thích một cách độc đáo here. Làm thế nào để đơn giản hóa nó cho các phiên bản mới nhất của các trình duyệt?
Tôi không có quyền truy cập vào tất cả các trình duyệt để kiểm tra, vì vậy caniuse.com là trợ giúp tuyệt vời cho tôi. Than ôi, con lăn chuột không được đề cập ở đó.
Dựa trên nhận xét của Derek, tôi đã viết giải pháp này. Nó có hợp lệ cho tất cả các trình duyệt không?
someObject.addEventListener("onwheel" in document ? "wheel" : "mousewheel", function(e) {
e.wheel = e.deltaY ? -e.deltaY : e.wheelDelta/40;
// custom code
});
hỗ trợ Chrome và IE [ 'MouseWheelEvent'] (https://developer.mozilla.org/en-US/docs/DOM/MouseWheelEvent), trong khi hỗ trợ Firefox [' WheelEvent'] (https: // developer.mozilla.org/en-US/docs/DOM/WheelEvent). Để nghe qua trình duyệt, xem [tại đây] (https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel#Listening_to_this_event_across_browser). –
* "Có hợp lệ cho tất cả các trình duyệt không?" *. Bạn không thể tự kiểm tra nó? –
Đã thêm vào điểm của Derek. Trên những trường hợp này, bạn thực sự nên đánh giá tính tương thích của trình duyệt. Bạn có thể làm điều đó với Modernizr (http://www.modernizr.com). Nó sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều :) –