2014-09-25 19 views
5

Tôi muốn thực hiện ủy quyền sự kiện và nắm bắt tất cả các sự kiện xảy ra trên đối tượng DOM bằng trình xử lý sự kiện được liên kết với toàn bộ tài liệu. Có sự khác biệt giữa các ràng buộc các sự kiện để window như trong:Tổ chức sự kiện và cửa sổ so với window.document

window.addEventListener(event, function(e){ 
    var obj = e.target; 
    ... // if `obj` is a certain kind of object, then do something 
}, false); 

window.document như trong những điều sau đây?

window.document.addEventListener(event, function(e){ 
    var obj = e.target; 
    ... // if `obj` is a certain kind of object, then do something 
}, false); 

event là một số loại sự kiện như 'click', 'mouseover' vv

Trả lời

4

Có sự khác biệt giữa windowwindow.document. window liên quan đến phần có thể xem của trình duyệt và luôn được tải trước. window.document là phần nội dung trang của bạn, nơi tất cả nội dung và DOM được hiển thị và bao gồm ví dụ: tất cả các phần được ẩn cho đến khi cuộn đến chúng sẽ hiển thị chúng.

Sự kiện bạn liệt kê là sự kiện do người dùng kích hoạt và sẽ luôn ảnh hưởng đến cổng có thể xem của cửa sổ. Tôi không thể nghĩ ra bất kỳ tình huống nào bạn sẽ nhận được, ví dụ: sự kiện nhấp chuột nằm ngoài cổng xem của bạn. Theo như tôi biết bạn thậm chí không thể tạo ra một sự kiện như vậy mà không bị ràng buộc với một yếu tố cụ thể nhưng đến một vị trí trên màn hình. Tương tự với các sự kiện keyup, keydown, ....

Để trả lời câu hỏi của bạn, không có sự khác biệt về chức năng giữa việc ràng buộc các sự kiện của bạn với window hoặc window.document. Điều duy nhất khác biệt là thuộc tính this bên trong các cuộc gọi hàm. Đối với tôi, điều đó có ý nghĩa hơn một chút khi liên kết sự kiện với window.document DOM thay vì cho số window.

Các vấn đề liên quan