[英]Best way of attaching event listener to the whole html document
讓我們考慮在整個HTML文檔中捕獲mousemove
的問題。
我知道可以附加事件監聽器的四個對象:
window
, document
, document.body
, document.documentElement
經過簡單的測試,在我看來,附加到它們中的任何一個都具有相同的效果。
$(window).on('mousemove', function(){console.log(1)})
我想知道是否有任何我不知道的差異(性能,兼容性?)
有兩個可能的事件將事件綁定到document.body
對象:
某些瀏覽器在頁面中的內容開始被解析之前不允許訪問body對象,因此直接在頭部綁定事件將不起作用。 您需要從load
或ready
事件或body中的代碼綁定它。
在標准兼容模式(HTML 4,XHTML,HTML5)中,body元素不會自動覆蓋整個窗口。 它只會包含內容所需的大小,如果它有一個未被body元素覆蓋的邊距。
此外,如果頁面包含框架,那么這將不起作用。 在這種情況下,請按照此處說明的步驟進
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.