DOM事件流

事件

1:事件流

事件流描述的是從頁面中接收事件的順序。IE是事件冒泡( 從下往上一層一層的往上傳),其他的為事件捕獲(從docunment 一層一層的往下捕獲).

事件處理程序,onclick,onload,onmouseover,每個都會創(chuàng)建一個封裝元素屬性值的函數(shù)喜德,函數(shù)中有一個局部變量event 动分,為事件對象.

DOM0級對事件的處理

一:簡單 二:具有跨瀏覽器的優(yōu)勢必逆。 btn.onclick = function(){}; 被認(rèn)為是該元素的方法,可以用方法中用this操作元素, 取消 btn.onclick=null

缺點,后面定義的onclick() 會把前面的覆蓋

DOM2級事件處理程序

addEventListener(),removeEventListener() ,接收三個參數(shù),1:要處理的事件名,2:作為事件處理程序的函數(shù)3: 布爾值.(true 為表示事件在捕獲階段調(diào)用事件處理程序,false 為在事件冒泡階段調(diào)用事件處理程序)

好處:可以添加多個事件處理程序,觸發(fā)順序按照添加的順序觸發(fā).

通過addEventListen()添加的事件處理程序只能用removeEventListener() 移除,移除時傳入的參數(shù)必須和處理傳入的參數(shù)必須一致.這就意味著通過addEventListener() 添加的匿名函數(shù)將無法移除.必須要

var btn = document.getElementById("myBtn");
var handle = function(){alert(this.id)};
btn.addEventListener("click",handle,false);
//移除  和添加方法的參數(shù)一樣
btn.removeEventListener("click",handle,false)
IE事件處理程序

IE實現(xiàn)了和DOM 類似的兩個方法,attachEvent()detachEvent() ,這兩個方法只接受兩個相同的參數(shù),事件處理程序名稱和事件處理函數(shù).由于IE8只支持事件冒泡,通過attachEvent 添加的事件只會添加到冒泡階段乌昔。注意添加的是onclick 不是上面的click.當(dāng)調(diào)用detachEvent() 時,必須像removeEventListener() 一樣傳入的參數(shù)一樣壤追,意味著匿名函數(shù)不能被移除磕道。添加多個方法的時候,執(zhí)行順序按添加相反的順序觸發(fā)

var btn =document.getElementById("myBtn");
btn.attachEvent("onclick",function(){
 alert(this === window); //true
})
事件對象

在觸發(fā)DOM 事件時,都會產(chǎn)生一個event

阻止特定事件的默認(rèn)行為.用preventDefault(). 例如阻止<a></a> 的跳轉(zhuǎn)。

var link=document.getElemetById("myLink");

link.onclick=function(event){event.preventDefault()} //只有cancelable屬性為true的才能用preventDefault 也可以 return false; 來阻止

event.stopPropagation() 用于立即停止事件在DOM 層次中的傳播,取消進(jìn)一步的事件捕獲或捕獲.從而避免觸發(fā)不相干的的事件綁定.注意cancelBubble 屬性 也可以阻止事件捕獲.IE為事件冒泡.event.stopPropagation() 都可以阻止行冰。

總的來說event.preventDefault();event.stopPropagation() 來阻止溺蕉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市悼做,隨后出現(xiàn)的幾起案子疯特,更是在濱河造成了極大的恐慌,老刑警劉巖肛走,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漓雅,死亡現(xiàn)場離奇詭異,居然都是意外死亡朽色,警方通過查閱死者的電腦和手機邻吞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葫男,“玉大人抱冷,你說我怎么就攤上這事∩液郑” “怎么了徘层?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵峻呕,是天一觀的道長。 經(jīng)常有香客問我趣效,道長瘦癌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任跷敬,我火速辦了婚禮讯私,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘西傀。我一直安慰自己斤寇,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布拥褂。 她就那樣靜靜地躺著娘锁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饺鹃。 梳的紋絲不亂的頭發(fā)上莫秆,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音悔详,去河邊找鬼镊屎。 笑死,一個胖子當(dāng)著我的面吹牛茄螃,可吹牛的內(nèi)容都是我干的缝驳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼归苍,長吁一口氣:“原來是場噩夢啊……” “哼用狱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拼弃,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤齿拂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肴敛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體署海,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年医男,在試婚紗的時候發(fā)現(xiàn)自己被綠了砸狞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡镀梭,死狀恐怖刀森,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情报账,我是刑警寧澤研底,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布埠偿,位于F島的核電站,受9級特大地震影響榜晦,放射性物質(zhì)發(fā)生泄漏冠蒋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一乾胶、第九天 我趴在偏房一處隱蔽的房頂上張望抖剿。 院中可真熱鬧,春花似錦识窿、人聲如沸斩郎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缩宜。三九已至,卻和暖如春甥温,著一層夾襖步出監(jiān)牢的瞬間锻煌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工窿侈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秋茫。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓史简,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肛著。 傳聞我的和親對象是個殘疾皇子圆兵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • JavaScript 程序采用了異步事件驅(qū)動編程模型。在這種程序設(shè)計風(fēng)格下枢贿,當(dāng)文檔殉农、瀏覽器、元素或與之相關(guān)的對象發(fā)...
    劼哥stone閱讀 1,250評論 3 11
  • 事件流: 事件流:頁面接收事件的順序局荚。 IE定義的:事件冒泡流(由最具體的元素依次傳播到DOM樹的最上層的Docu...
    xiaoguo16閱讀 576評論 0 0
  • 聲明:本文來源于http://www.webzsky.com/?p=731我只是在這里作為自己的學(xué)習(xí)筆記整理一下(...
    angryyan閱讀 6,951評論 1 6
  • 一耀态、問答 1. dom對象的innerText和innerHTML有什么區(qū)別轮傍? innerHTML: 也就是從對象...
    饑人谷_羅偉恩閱讀 586評論 0 2
  • 剛爬床在想是不是應(yīng)該跟你說些什么…我在想為什么你會這么容易放棄呢還有如果那天我不開口問那個問題是不是你就永遠(yuǎn)擱著呢...
    flowdiers閱讀 178評論 0 1