js事件础米、事件流

事件

js組成:ECMA語法,規(guī)定了js的基本規(guī)則添诉,類似于使用var定義變量屁桑,使用for來規(guī)定循環(huán)。
BOM:瀏覽器對象模型栏赴,就是使用我們的js來操作瀏覽器
DOM:文檔對象模型蘑斧,文檔:我們的html標(biāo)簽在被瀏覽器渲染時(shí)會(huì)生成一顆標(biāo)簽樹,我們把這棵樹稱為文檔樹或文檔,每一個(gè)標(biāo)簽在js當(dāng)中都可以抽象為一個(gè)對象竖瘾。則DOM可以理解為沟突,html標(biāo)簽在js當(dāng)中的對象映射,則我們可以在dom中操作html元素
把瀏覽器當(dāng)作最頂層的容器捕传,抽象為文字可以理解為
window>>document>>html>>head/body>>其他元素
這個(gè)層級關(guān)系就可以理解為文檔樹了
則會(huì)出現(xiàn)以下概念
1》凡是出現(xiàn)在html中的標(biāo)簽被瀏覽器解析的時(shí)候都會(huì)被掛載島dom樹上
2》dom樹上的每個(gè)標(biāo)簽都是一個(gè)獨(dú)立的對象惠拭,既然是對象就會(huì)有屬性和方法。我們在標(biāo)簽上注冊一個(gè)事件庸论,當(dāng)事件滿足條件被觸發(fā)之后就會(huì)執(zhí)行方法
3》事件的概念就是:讓html在某些特定條件下執(zhí)行了一段js腳本职辅,某些特定的條件就是如單擊,雙擊聂示,鼠標(biāo)經(jīng)過等域携,這些條件以屬性的形式呈現(xiàn)在html代碼中,而觸發(fā)執(zhí)行的js腳本則通常為方法

這里我們需要了解三種鱼喉,分別為最原始的html混合事件寫法秀鞭,dom0級寫法、dom2級寫法

1.最原始的寫法:和html混合在一起寫扛禽,缺點(diǎn)是代碼高冗余锋边,且無法添加多個(gè)事件處理函數(shù)如上文對事件的舉例則為典型的html事件處理程序寫法
2.dom0級:將html代碼和js代碼分離,且支持匿名函數(shù)旋圆,可以看到完美的改進(jìn)了1的冗余缺憾宠默,所有的事件相關(guān)操作都在js中完成
3.dom2級:ie使用attachEventListener其他非ie使用addEventListener,可以支持綁定多個(gè)事件灵巧,瞧吧搀矫,又一個(gè)缺憾被完美解決了,而且dom2級還可以自定義事件流刻肄,好瓤球,到這里大家留個(gè)心,這是第二部分我們要介紹的重點(diǎn)敏弃。牢記這個(gè)名詞于心哦
4.dom3級

事件流

事件流官網(wǎng)定義:描述的是從頁面中接收事件的順序卦羡,那~~~是誰從頁面接收事件的順序呢?接收的順序有啥子呢麦到?接收的范圍呢绿饵?
接收順序(事件流方式),需要我們了解:

  1. 事件捕獲:什么叫捕獲瓶颠,其實(shí)不用扯那么多一句話從最不具體的到最具體的
  2. 事件冒泡:什么叫冒泡拟赊,正好和上面相反,從最具體的到最不具體的
  3. 為什么會(huì)有兩種事件流方式呢粹淋?歷史原因吸祟,ie提出的是事件冒泡瑟慈,而w3c提出的是事件捕獲。
  4. 現(xiàn)代瀏覽器高級了屋匕,那葛碧。。过吻。进泼。。嗯疮装,我知道你要問啥缘琅,你一定要問瀏覽器內(nèi)部是如何解析這兩種事件流的,它的執(zhí)行順序:事件捕獲-》目標(biāo)階段-》事件冒泡廓推,一句話就是先捕獲后冒泡

window-》dowument-》html-》head/body-》div或其他元素
注意昂刷袍,現(xiàn)在的瀏覽器都是從window開始滴,不管冒泡還是捕獲其的傳遞范圍一定是父子關(guān)系樊展,也就是外層到內(nèi)層呻纹,或者從內(nèi)層到外層。假設(shè)我們給div添加一個(gè)事件方法专缠,如果是事件捕獲的話是從window開始雷酪,因?yàn)樗亲畈痪唧w的元素,如果是冒泡的話則是從div開始涝婉,所以這里的具體不具體是相對于添加事件的元素而言的哥力,說到這里,大家一定要曉得墩弯,我們要使用事件流通常要配合dom2級事件去寫吩跋,要是讀到這里你還不了解這個(gè),那寶寶就讓你氣死鳥~哦渔工,還要知道的一點(diǎn)我們現(xiàn)開發(fā)中多使用的事件流通常是冒泡锌钮,嗯這點(diǎn)隨了ie了,但是要注意現(xiàn)在的主流瀏覽器默認(rèn)就是冒泡引矩,但通常我們在使用addEventListener這個(gè)方法的時(shí)候他的第三個(gè)參數(shù)還是會(huì)顯示的指定為false梁丘,即為不捕獲**。

捕獲和冒泡的方式?jīng)Q定著瀏覽器何時(shí)去處理這個(gè)事件旺韭,如果我把事件聲明在冒泡階段處理氛谜,那么在捕獲階段即使捕獲到了這個(gè)事件,事件也是不會(huì)被執(zhí)行滴

Paste_Image.png
Paste_Image.png

<div id="one">
<div id="two">
<div id="three"></div>
</div>
</div>
one.addEventListener('click',function(e){
console.log('one');
},false);
two.addEventListener('click',function(e){
console.log('two');
},false);
three.addEventListener('click',function(e){
console.log('three');
},true);

使用的是dom2級中的非ie方法区端,從代碼中可以看到one和two為冒泡值漫,three為捕獲
當(dāng)我們點(diǎn)擊最里面的div的時(shí)候,打印數(shù)序應(yīng)該為three->two->one
最后還是冒泡的執(zhí)行順序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末珊燎,一起剝皮案震驚了整個(gè)濱河市惭嚣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悔政,老刑警劉巖晚吞,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谋国,居然都是意外死亡槽地,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門芦瘾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捌蚊,“玉大人,你說我怎么就攤上這事近弟∶逶悖” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵祷愉,是天一觀的道長窗宦。 經(jīng)常有香客問我,道長二鳄,這世上最難降的妖魔是什么赴涵? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮订讼,結(jié)果婚禮上髓窜,老公的妹妹穿的比我還像新娘。我一直安慰自己欺殿,他們只是感情好寄纵,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著祈餐,像睡著了一般擂啥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帆阳,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天哺壶,我揣著相機(jī)與錄音,去河邊找鬼蜒谤。 笑死山宾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳍徽。 我是一名探鬼主播资锰,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼阶祭!你這毒婦竟也來了绷杜?” 一聲冷哼從身側(cè)響起直秆,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞭盟,沒想到半個(gè)月后圾结,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齿诉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年筝野,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粤剧。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歇竟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抵恋,到底是詐尸還是另有隱情焕议,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布馋记,位于F島的核電站号坡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梯醒。R本人自食惡果不足惜宽堆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茸习。 院中可真熱鬧畜隶,春花似錦、人聲如沸号胚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猫胁。三九已至箱亿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弃秆,已是汗流浹背届惋。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菠赚,地道東北人脑豹。 一個(gè)月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像衡查,于是被迫代替她去往敵國和親瘩欺。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

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

  • 一:什么是事件流呢? 通俗的來說俱饿,可以想象畫在一張紙上的一組同心圓歌粥。如果你把手指放在圓心上,那么你的手指指向的不是...
    68e94e5ea9bc閱讀 872評論 0 50
  • 聲明:本文來源于http://www.webzsky.com/?p=731我只是在這里作為自己的學(xué)習(xí)筆記整理一下(...
    angryyan閱讀 7,032評論 1 6
  • JavaScript 程序采用了異步事件驅(qū)動(dòng)編程模型拍埠。在這種程序設(shè)計(jì)風(fēng)格下阁吝,當(dāng)文檔、瀏覽器械拍、元素或與之相關(guān)的對象發(fā)...
    劼哥stone閱讀 1,258評論 3 11
  • 一坷虑、問答 1. dom對象的innerText和innerHTML有什么區(qū)別? innerHTML: 也就是從對象...
    饑人谷_羅偉恩閱讀 600評論 0 2
  • 學(xué)習(xí)沒有舒服的埂奈,學(xué)習(xí)的本質(zhì)就是脫離舒服迄损。如果你在舒服區(qū),那不叫學(xué)習(xí)账磺,那叫享受生活芹敌。只要在學(xué)習(xí),那就是在進(jìn)步的路上品...
    SUNNY看世界閱讀 602評論 0 2