EventTarget方法:dispatchEvent()

2019-01-19 13:58 更新

在指定的EventTarget上調(diào)度Event,(同步)以適當(dāng)?shù)捻樞蛘{(diào)用受影響的EventListener。正常事件處理規(guī)則(包括捕獲和可選的冒泡階段)也適用于使用dispatchEvent()手動調(diào)度的事件。

語法

cancelled = !target.dispatchEvent(event)

參數(shù)

  • event:是要發(fā)送的Event對象。
  • target:用于初始化Event.target并確定要調(diào)用的事件偵聽器。

返回值

  • 返回值是false如果event可取消并且處理此事件的事件處理程序中至少有一個名為Event.preventDefault()的事件處理程序,則返回值為false,否則它會返回true。

如果在調(diào)用方法之前初始化事件未指定事件的類型,或者事件的類型為null或者為空字符串,則 dispatchEvent方法將拋出UNSPECIFIED_EVENT_TYPE_ERRnull。事件處理程序拋出的異常被報告為未捕獲的異常;事件處理程序在嵌套的調(diào)用棧上運行:它們阻塞調(diào)用者直到它們完成,但異常不會傳播給調(diào)用者。

筆記

與由DOM觸發(fā)并通過事件循環(huán)異步調(diào)用事件處理程序的“本機”事件不同,dispatchEvent同步調(diào)用事件處理程序。所有適用的事件處理程序?qū)⒃诖a繼續(xù)調(diào)用dispatchEvent之后執(zhí)行并返回。

dispatchEvent是create-init-dispatch流程的最后一步,用于將事件分派到實現(xiàn)的事件模型中??梢允褂肊vent構(gòu)造函數(shù)創(chuàng)建事件。

示例

請參閱創(chuàng)建和觸發(fā)事件。

規(guī)范

規(guī)范 狀態(tài) 注釋
DOM
該規(guī)范中“EventTarget.dispatchEvent()”的定義。
Living Standard
DOM 2 Events規(guī)范中的初始定義。

瀏覽器兼容性

通過此快速調(diào)查來幫助我們改進(jìn)瀏覽器兼容性表

電腦端 移動端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview 適用于Android的Chrome Edge Mobile 適用于Android的Firefox 適用于Android的Opera iOS Safari
基本支持 支持:4 支持:12 支持:2 支持:9 支持:9 支持:3.2 支持:4 支持:18 支持 支持:4 支持 支持
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號