事件

1. DOM0 事件和DOM2級(jí)在事件監(jiān)聽使用方式上有什么區(qū)別?

  • DOM0級(jí)事件
var btn = document.getElementById("myBtn");
btn.onclick = function(){
    //do sth...
    console.log(this); // myBtn
}
// 事件以'on'開頭辙浑,如onmouseover, onmouseout等

使用DOM0級(jí)方法指定的事件處理程序被認(rèn)為是元素的方法身隐,此時(shí)事件處理程序是在元素的作用域里中運(yùn)行慈俯,所以此時(shí)this指向的是元素本身豪墅。而且這種添加方式的缺陷是纤泵,只能存在一個(gè)處理程序吮便,如果再次向同一個(gè)元素添加另外一個(gè)處理程序笔呀,上一個(gè)處理程序會(huì)被覆蓋。

  • DOM2級(jí)事件
    DOM2級(jí)別事件監(jiān)聽使用的方法為:
var btn = document.getElementById("myBtn");
btn.addEventListener("事件名", function(){
    //do sth...
    console.log(this); // myBtn
});

這樣的添加方式比起DOM0級(jí)更靈活髓需,它可以給一個(gè)同一個(gè)元素添加多個(gè)處理事件许师。同時(shí)它的this也同樣指向元素本身。

2.attachEvent與addEventListener的區(qū)別僚匆?

  • 接收參數(shù)不同
    attachEvent()接收兩個(gè)參數(shù)微渠,一個(gè)事件,一個(gè)事件的處理函數(shù)咧擂,且不支持事件捕獲敛助。
    addEventLisner接受三個(gè)參數(shù),一個(gè)事件屋确,一個(gè)事件的處理函數(shù)纳击,第三個(gè)參數(shù)是boolean,如果為false是事件冒泡,true攻臀,則為事件捕獲焕数。第三個(gè)參數(shù)可選,默認(rèn)值為false刨啸。

  • 第一個(gè)參數(shù)意義不同
    attachEvent接受的第一個(gè)參數(shù)的意義是事件處理函數(shù)的名稱堡赔,而addEventListener指的是參數(shù)事件類型。只需在參數(shù)事件類型前加'on'就可以了设联。

  • 事件處理程序的作用域不同
    addEventListener的作用域是元素本身善已,this是指的觸發(fā)元素灼捂,而attachEvent事件處理程序會(huì)在全局變量?jī)?nèi)運(yùn)行,this是window换团。

  • 為一個(gè)事件添加多個(gè)處理程序時(shí)悉稠,執(zhí)行順序不同
    addEventListener添加會(huì)按照添加順序執(zhí)行,而attachEvent添加會(huì)往往按照反序執(zhí)行艘包,添加的多了就沒有規(guī)律而言的猛。

3.解釋IE事件冒泡和DOM2事件傳播機(jī)制?

  • 事件冒泡
    當(dāng)我們觸發(fā)某種事件想虎,首先會(huì)精準(zhǔn)判斷觸發(fā)事件的元素到底是哪一個(gè)具體的元素卦尊,然后再層層往上報(bào),最終觸發(fā)到document舌厨。舉個(gè)例子來(lái)說(shuō).
<!DOCTYPE html>
<html>
  <body>
    <div>
        <li>
          <input>
        </li>
    </div>
  </body>
</html>

假如給<input>綁定一個(gè)點(diǎn)擊事件岂却,首先input會(huì)監(jiān)聽到這個(gè)時(shí)間,觸發(fā)事件處理函數(shù)裙椭,然后再往上報(bào)淌友,也會(huì)觸發(fā)<li>的點(diǎn)擊處理函數(shù),再往上報(bào)骇陈,依次類推。

  • DOM2級(jí)事件處理程序
    分為三個(gè)階段瑰抵,第一個(gè)階段你雌,事件捕獲,由window-html-body-父-子二汛。這一階段為截取事件提供了機(jī)會(huì)婿崭。
    第二個(gè)階段,目標(biāo)階段肴颊,傳遞到目標(biāo)氓栈,
    第三階段,冒泡階段婿着,再倒序的傳

4.如何阻止事件冒泡授瘦? 如何阻止默認(rèn)事件?

  • 阻止事件冒泡
    用stopPropagation()方法可以停止事件在DOM層次的傳播竟宋,即取消進(jìn)一步事件的捕獲或者冒泡提完。
  • 阻止默認(rèn)事件
    用preventDefault()阻止默認(rèn)事件。

5.有如下代碼丘侠,要求當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容徒欣。不考慮兼容

http://js.jirengu.com/gahudaguni/1/edit?html

6. 補(bǔ)全代碼,要求:

當(dāng)點(diǎn)擊按鈕開頭添加時(shí)在<li>這里是</li>元素前添加一個(gè)新元素蜗字,內(nèi)容為用戶輸入的非空字符串打肝;當(dāng)點(diǎn)擊結(jié)尾添加時(shí)在最后一個(gè) li 元素后添加用戶輸入的非空字符串.
當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容脂新。
代碼一:http://js.jirengu.com/noloholona/1/

代碼二 http://js.jirengu.com/kayufuboxa/1/

7.補(bǔ)全代碼,要求:當(dāng)鼠標(biāo)放置在li元素上粗梭,會(huì)在img-preview里展示當(dāng)前l(fā)i元素的data-img對(duì)應(yīng)的圖片

代碼一:http://js.jirengu.com/hataqefuca/1/
代碼二:http://js.jirengu.com/veyedudaqe/1/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末争便,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子楼吃,更是在濱河造成了極大的恐慌始花,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孩锡,死亡現(xiàn)場(chǎng)離奇詭異酷宵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)躬窜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門浇垦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人荣挨,你說(shuō)我怎么就攤上這事男韧。” “怎么了默垄?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵此虑,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我口锭,道長(zhǎng)朦前,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任鹃操,我火速辦了婚禮韭寸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荆隘。我一直安慰自己恩伺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布椰拒。 她就那樣靜靜地躺著晶渠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪燃观。 梳的紋絲不亂的頭發(fā)上乱陡,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音仪壮,去河邊找鬼憨颠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爽彤。 我是一名探鬼主播养盗,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼适篙!你這毒婦竟也來(lái)了往核?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嚷节,失蹤者是張志新(化名)和其女友劉穎聂儒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硫痰,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衩婚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了效斑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片非春。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缓屠,靈堂內(nèi)的尸體忽然破棺而出奇昙,到底是詐尸還是另有隱情,我是刑警寧澤敌完,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布储耐,位于F島的核電站,受9級(jí)特大地震影響滨溉,放射性物質(zhì)發(fā)生泄漏什湘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一业踏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涧卵,春花似錦勤家、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至乐设,卻和暖如春讼庇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背近尚。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工蠕啄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓歼跟,卻偏偏與公主長(zhǎng)得像和媳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哈街,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • 一骚秦、問答 1. dom對(duì)象的innerText和innerHTML有什么區(qū)別她倘? innerHTML: 也就是從對(duì)象...
    饑人谷_羅偉恩閱讀 600評(píng)論 0 2
  • 聲明:本文來(lái)源于http://www.webzsky.com/?p=731我只是在這里作為自己的學(xué)習(xí)筆記整理一下(...
    angryyan閱讀 7,031評(píng)論 1 6
  • 一硬梁、dom對(duì)象的innerText和innerHTML有什么區(qū)別? innerHTML返回的是從對(duì)象起始位置到終止...
    __Qiao閱讀 414評(píng)論 0 0
  • 如何批量操作 css 如何獲取 DOM 計(jì)算后的樣式 使用getComputedStyle獲取元素計(jì)算后的樣式 實(shí)...
    _Dot912閱讀 560評(píng)論 1 3
  • 問答 1、dom對(duì)象的innerText和innerHTML有什么區(qū)別懒震? innerText屬性①innerTex...
    鴻鵠飛天閱讀 640評(píng)論 0 1