EventTarget方法:dispatchEvent()

2019-01-19 13:58 更新

在指定的EventTarget上调度Event,(同步)以适当的顺序调用受影响的EventListener。正常事件处理规则(包括捕获和可选的冒泡阶段)也适用于使用dispatchEvent()手动调度的事件。

语法

cancelled = !target.dispatchEvent(event)

参数

  • event:是要发送的Event对象。
  • target:用于初始化Event.target并确定要调用的事件侦听器。

返回值

  • 返回值是false如果event可取消并且处理此事件的事件处理程序中至少有一个名为Event.preventDefault()的事件处理程序,则返回值为false,否则它会返回true。

如果在调用方法之前初始化事件未指定事件的类型,或者事件的类型为null或者为空字符串,则 dispatchEvent方法将抛出UNSPECIFIED_EVENT_TYPE_ERRnull。事件处理程序抛出的异常被报告为未捕获的异常;事件处理程序在嵌套的调用栈上运行:它们阻塞调用者直到它们完成,但异常不会传播给调用者。

笔记

与由DOM触发并通过事件循环异步调用事件处理程序的“本机”事件不同,dispatchEvent同步调用事件处理程序。所有适用的事件处理程序将在代码继续调用dispatchEvent之后执行并返回。

dispatchEvent是create-init-dispatch流程的最后一步,用于将事件分派到实现的事件模型中。可以使用Event构造函数创建事件。

示例

请参阅创建和触发事件

规范

规范 状态 注释
DOM
该规范中“EventTarget.dispatchEvent()”的定义。
Living Standard
DOM 2 Events规范中的初始定义。

浏览器兼容性

通过此快速调查来帮助我们改进浏览器兼容性表

电脑端 移动端
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 支持 支持
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号