Trong khi làm việc với các sự kiện trình duyệt, tôi đã bắt đầu kết hợp touchEvents của Safari cho thiết bị di động. Tôi thấy rằng addEventListener
s đang xếp chồng lên nhau với các điều kiện. Dự án này không thể sử dụng JQuery.Liên kết nhiều sự kiện với người nghe (không có JQuery)?
Một sự kiện tiêu chuẩn nghe:
/* option 1 */
window.addEventListener('mousemove', this.mouseMoveHandler, false);
window.addEventListener('touchmove', this.mouseMoveHandler, false);
/* option 2, only enables the required event */
var isTouchEnabled = window.Touch || false;
window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false);
JQuery bind
cho phép nhiều sự kiện, như vậy:
$(window).bind('mousemove touchmove', function(e) {
//do something;
});
Có cách nào để kết hợp hai người nghe sự kiện như trong ví dụ JQuery? ví dụ:
window.addEventListener('mousemove touchmove', this.mouseMoveHandler, false);
Bất kỳ đề xuất hoặc mẹo nào được đánh giá cao!
@RobG có lẽ vì câu hỏi đặt ra là hỏi cách sao chép một số chức năng của jQuery. Tôi không chắc đó có phải là cách sử dụng thích hợp cho một thẻ hay không. –
Đủ công bằng, dường như với tôi rằng câu hỏi đó không cần đến nó. Mặc dù có vẻ hơi lén lút, đã bị xóa. – RobG