EventTarget 是一个可以接收事件和创建事件监听函数的接口,以对象的方式实现。
Element、document 和 window 是最常见的事件目标,其他对象也可以是事件目标,比如 XMLHttpRequest、AudioNode、AudioContext 等。
构造函数
1 | EventTarget() |
创建 EventTarget 对象,并返回之。
方法
addEventListener()
注册一个指定类型的事件处理函数。
参数
type: stringlistener: Functionoptions?: { capture: boolean; once: boolean; passive: boolean }
返回值
void
removeEventListener()
删除使用 addEventListener() 方法添加的事件处理函数。
参数
type: stringlistener: Functionoptions?: { capture: boolean; passive: boolean }
返回值
void
dispatchEvent()
派发事件
参数
event: Event派发的事件对象
返回值
若该事件
- 声明了
cancelable: true - 事件处理函数调用了
Event.preventDefault()
则返回 false,否则返回 true。
若传递一个没有指定事件类型(或事件类型为 null 或空字符串)的事件对象,该方法会抛出 UNSPECIFIED_EVENT_TYPE_ERR 异常。
事件处理程序在一个嵌套的调用堆栈上运行,会阻塞调用者直到它们完成,但是异常不会传播到调用者,因此事件处理函数抛出的异常无法被捕获;
示例
1 | // 初始化 EventTarget 对象 |
