DOM事件探秘篇
1.事件流
時間流--- 描述的是從頁面中接受事件的順序。
(1)事件冒泡流。
事件最開始由最具體的元素(文檔中嵌套層次最深的那個節(jié)點)接收,然后逐級向上傳播至最不具體的那個節(jié)點(文檔)。
(2)事件捕獲流。
不太具體的節(jié)點應(yīng)該更早接受到事件,而最具體的節(jié)點最后接受到事件。
2.JS事件探索
1.HTML事件處理程序 -- 直接寫在html標簽里面的js觸發(fā)語句。
2.DOM0級事件處理程序。
把一個函數(shù)賦值給一個事件的處理程序?qū)傩?,用的比較多的方法,簡單,跨瀏覽器的優(yōu)勢。
3.DOM2級事件處理程序。
(1)用于處理制定和刪除事件處理程序的操作。
addEventListener(處理的事件名,事件處理程序的函數(shù),布爾值) removeEventListner()。
4.IE事件處理程序。
attachEvent(事件處理程序的名稱,事件處理程序的函數(shù)) detachEvent()
不需要添加第三個參數(shù):IE8以及更早的瀏覽器版本只支持事件冒泡。
var eventUtil = { addHandler:function(element,type,handler){ if(element。addEventListener){ element。addEventListener(type,handler,false); }else if(element。attachEvent){ element。attachEvent(‘on' + type,handler) ; }else{ element【‘on' + type】= handler; } } removeHandler:function(element,type,handler){ if(element。removeEventListner){ element。removeEventListner(type,handler); }else if(element。detachEvent){ element。detachEvent(‘on' + type,handler) ; }else{ element【‘on' + type】 = handler ; } } }
3.事件對象
在觸發(fā)DOM上的事件時會產(chǎn)生一個對象,事件對象event。
(1)DOM中的事件對象。
1.type屬性 用于獲取事件類型。
2.target屬性 用于獲取事件目標。
3.stopPropagation()方法 用于阻止事件冒泡。
4.preventDefault()方法 阻止事件的默認行為。
(2)IE中的事件對象。
1.type屬性 用于獲取事件類型。
2.srcElement屬性 用于獲取事件的目標。
3.cancelBubble屬性 用于阻止事件冒泡。 設(shè)置true 表示阻止冒泡 設(shè)置false 表示不阻止冒泡。
4.returnValue屬性 用于阻止事件的默認行為。設(shè)置false表示阻止事件的默認行為。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox)
這篇文章介紹了Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox),有需要的朋友可以參考一下2013-11-11JS Array.slice 截取數(shù)組的實現(xiàn)方法
這篇文章主要介紹了JS Array.slice 截取數(shù)組的實現(xiàn)方法,因為我們需要控制一下長度,需要的朋友可以參考下2016-01-01javascript 用原型繼承來實現(xiàn)對象系統(tǒng)
對象系統(tǒng)中的繼承特性有三種方式:基于類,基于原型,基于元類2010-03-03layui實現(xiàn)圖片虛擬路徑上傳,預(yù)覽和刪除的例子
今天小編就為大家分享一篇layui實現(xiàn)圖片虛擬路徑上傳,預(yù)覽和刪除的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09