注意onmouseover、onmouseout是只執行一次的,二onmousemove是執行多次的
Onmousedown也是只執行一次,每次點擊才執行一次,不會持續觸發,與onkeydown、onkeypress不同,這里是很亂的,鼠標事件到底有哪些???
在火狐中顯示是undefined
在ie中顯示是undefined
但是上面的在谷歌中顯示都是正常的,現在需要的做一個兼容,兼容IE與火狐
這里是有一個疑問的,單獨的console.log(window),在其中看到的event屬性是undefined,但是consoe.log(window.event),時顯示的卻是自己想要的效果,為什么會有這樣的區別呢?
這是老師糾結的地方,但是我不知道到底是為啥這樣
上面的分析是有錯誤的,在谷歌中,e與window.event都是支持的,火狐只支持e,谷歌只支持window.event
傳參與動態創建屬性
由于e.pageX和e.pageY這個屬性在IE低版本不支持,(在IE低版本中顯示是)所以利用可視區鼠標位置+滾動條卷曲高度來實現獲取基于內容區的鼠標位置
Document上面的是window
事件捕獲只是了解內容,在IE中不支持
事件處理函數,注意0級事件后面的事件是會覆蓋前面的事件,這是很重要的
Window是可以省略的,上面的代碼沒什么意義
冒泡:從具體節點到不具體節點
現在代表的是捕獲,但是沒什么具體的效果,現在和冒泡是一樣的
捕獲:從不具體節點到具體節點
實現與函數執行上下文一樣的效果,addEventListener()在IE瀏覽器中不支持
上面是卸載DOM 0級事件的方法(卸載事件,若界面再次刷新的話,還是會繼續執行該事件處理函數)
其實和卸載DOM0級事件是一樣的效果
IE添加DOM2級事件
在IE最新版本IE11已經是不支持attachEvent這個屬性
IE卸載DOM2級事件
下面是html' target='_blank'>封裝函數:
這種寫法在IE中顯示為空
這種寫法在非IE中是會直接報錯
非IE中顯示是一個函數,IE中顯示是undefined,下面的函數封裝就是根據這樣的原理來進行
由于事件捕獲是很少使用到的,所以第四個值通常都是false,不用單獨的傳參,直接寫死
在卸載時,不能在事件處理函數中使用匿名函數
注意在IE版本中的執行順序
DOMContentLoaded現在是了解內容,注意一個概念:事件處理函數
封裝函數:鼠標相對于內容區的鼠標Y軸的位置,兼容瀏覽器的DOM2級事件的添加與卸載
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
|
新聞熱點
疑難解答