我們都知道,事件處理函數是由瀏覽器來調用,爾瀏覽器有一個監聽機制,是可以判斷出事件函數有沒有被觸發,本篇文章就跟大家介紹一下JS操作非IE事件物件的屬性,方法。
Cancelable,type,bubbles無用,僅需了解
注意一下上面的亮點,就是在2級事件中嵌套的二級事件,還有就是冒泡與捕獲的執行順序問題,冒泡是從下到上,捕獲是從上到下
這裡有一個疑問,body節點與document節點有什麼不同呢?
在document物件下的屬性中可以看到body,document也就是傳說中的dom區
現在顯示的卻是null? ?
Type無用,只是了解的內容
現在在IE中顯示是undefined,在其他瀏覽器中顯示是正常的
在GoogleIE中可以,在火狐中不可以,注意如果是上面的寫法,在IE8以下的版本中會出錯
很多的情況就是谷歌的兼容性是最好的,通常出現的兼容性問題是火狐和IE之間的差別,只要是在ie中有效的,在谷歌中似乎都是有效的,特別要注意只有是在二級事件中才會出現上面的問題,在一級事件中是沒有兼容性問題
點擊按鈕執行提交,會有預設行為刷新介面
只是了解內容,用到的只是clientX、clientY
封裝函數:阻止瀏覽器的預設行為、阻止冒泡
總結:事件處理函數由瀏覽器來調用,瀏覽器器有一個監聽機制,判斷事件處理函數是否被觸發,一旦事件處理函數被觸發,瀏覽器就會監聽到,就會呼叫該事件處理函數,然後就會給事件處理函數傳遞一個事件來源對象,我們可以主動的在事件處理函數中來接收這個事件來源物件。相容性的封裝都是有一個共同點的,就是獲取函數的執行上下文,如果是能獲取到的話,就說明是兼容的,如果是無法獲取,通常情況下,返回的都是undefined,前面的所有的封裝相容性的函數都是這樣來做。
注意這裡的程式碼的執行順序,每次點擊的時候是會觸發上面事件的發生,如果是按鍵一點擊的時候會一直觸發該事件的發生,這是一個怪的現象,手動的控制事件的持續的發生,
相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
#以上是Js操作非IE事件物件屬性,方法的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!