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