事件

事件流描述的是從頁面中接收事件的順序。IE的事件流水事件冒泡流,而Netscape Commuication的事件流水事件捕獲流。

  • 事件冒泡
  • 事件捕獲

DOM事件流

”DOM2級事件“規定的事件流包括三個階段:事件捕獲階段、處于目標階段和事件冒泡階段。

事件處理程序

  • HTML事件處理
  • DOM0級事件處理程序
  • DOM2級事件處理程序
    • addEventListener()
    • removeEventListener()
      都接受三個參數:要處理的事件名、作為事件處理程序的函數和一個布爾值。最后的布爾值參數如果是true,表示在捕獲階段調用事件處理程序;如果是false,表示在冒泡階段調用事件處理程序。大多情況下選擇false
    • 通過addEventListener()添加的事件處理程序只能使用removeEventListener()來移除。

事件對象

觸發DOM上的某個事件,會產生一個事件對象event,這個對象中包含著所有與事件有關的信息。event對象包含與創建它的特定事件有關的屬性和方法,觸發的事件類型不一樣,可用的屬性和方法也不一樣。

要阻止特定事件的默認行為,可以使用preventDefault()方法。只有cancelable屬性設置為true的事件,才可以使用preventDefaultfault()來取消其默認行為。另,stopPropagation()方法用于立即停止事件在DOM層次中的傳播,即取消進一步的事件捕獲或冒泡。

事件對象的eventPhase屬性,可以用來確定事件當前正位于事件流的哪個階段。如eventPhase等于1,處于捕獲階段;如eventPhase等于2,則處于目標對象上;如eventPhase等于3,則處于冒泡階段。

IE中的事件處理和事件對象都有所不同。

事件類型

  • UI事件
  • 焦點事件
  • 鼠標事件
  • 滾輪事件
  • 文本事件
  • 鍵盤事件
  • 合成事件
  • 變動事件
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • ??JavaScript 與 HTML 之間的交互是通過事件實現的。 ??事件,就是文檔或瀏覽器窗口中發生的一些特...
    霜天曉閱讀 3,526評論 1 11
  • JavaScript 程序采用了異步事件驅動編程模型。在這種程序設計風格下,當文檔、瀏覽器、元素或與之相關的對象發...
    劼哥stone閱讀 1,274評論 3 11
  • 事件流 JavaScript與HTML之間的交互是通過事件實現的。事件,就是文檔或瀏覽器窗口中發生的一些特定的交互...
    DHFE閱讀 846評論 0 3
  • JavaScript 與 HTML 之間的交互是通過事件實現的。事件,就是文檔或瀏覽器窗口中發生的一些特定的交互瞬...
    threetowns閱讀 350評論 0 0
  • js之事件機制 1、事件初探 1.1 js事件的概述 JavaScript事件:JavaScript是基于事件驅動...
    道無虛閱讀 2,396評論 0 2