日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“约见”面试官系列之常见面试题之第六十一篇之IE和DOM事件流(建议收藏)

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “约见”面试官系列之常见面试题之第六十一篇之IE和DOM事件流(建议收藏) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是“事件流”?

事件流描述的是從頁面中接收事件的順序

事件流的種類:

事件流主要分為三種

  • 事件冒泡流(IE事件流):事件開始時由最具體的元素(文檔中嵌套最深的那個節點)接收,然后逐級向上傳播到較為不具體的節點(文檔)
  • 事件捕獲流(Netscape事件流):不太具體的節點最先接收到事件,而最具體的節點應該最后接收到事件(在事件到達預定目標之前捕獲到)
  • DOM事件流:事件流包括三個階段,事件捕獲階段,處于目標階段,事件冒泡階段。首先發生的是事件捕獲,為截獲事件提供了機會;然后是實際的目標接收事件;最后是冒泡階段,可以在這個階段對事件做出響應。

IE和DOM事件流的區別:

IE和DOM事件流的區別主要有四個方面不一樣

  • 執行的順序不一樣:事件俺的執行順序不一樣

????? 案例為:

<body><div><button id = 'btn'>點擊<button></div></body>

三種事件流分別是:

冒泡型事件模型(IE事件流): button->div->body

捕獲型事件模型(Netscape事件流): body->div->button

DOM事件模型: body->div->button->button->div->body (先捕獲后冒泡)

  • IE和DOM事件偵聽函數的區別:
IE使用:[Object].attachEvent("name_of_event_handler", fnHandler); //綁定函數[Object].detachEvent("name_of_event_handler", fnHandler); //移除綁定 DOM使用:[Object].addEventListener("name_of_event", fnHandler, bCapture); //綁定函數[Object].removeEventListener("name_of_event", fnHandler, bCapture); //移除綁定

?

  • 事件參數不一樣和this指向不一樣

???????如上的兩個不一樣的事件偵聽函數:

????? attachEvent接受兩個參數,第一個參數是事件名稱,第二個fnHandler是回調處理函數

?????????? 注意:IE下利用attachEvent注冊的處理函數調用時this指向不再是先前注冊事件的元素,這時的thiswindow對象

?????? addEventListener方法接受三個參數:

?????????? 第一個參數是事件名稱,值得注意的是,這里事件名稱與IE的不同,事件名稱是沒’on’開頭的;

???????????第二個參數fnHandler是回調處理函數;

?????????? 第三個參數注明該處理回調函數是在事件傳遞過程中的捕獲階段被調用還是冒泡階段被調用

???????????注意:它可以在一個DOM元素上綁定多個事件處理器,并且在處理函數內部,this關鍵字仍然指向被綁定的DOM元素,另外處理函數參數列表的第一個位置傳遞事件event對象

本面試題為前端常考面試題,后續有機會繼續完善。我是歌謠,一個沉迷于故事的講述者。

歡迎一起私信交流。

“睡服“面試官系列之各系列目錄匯總(建議學習收藏)?

總結

以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题之第六十一篇之IE和DOM事件流(建议收藏)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。