此类允许您按名称在指定范围内添加/删除和分发事件。这使得在任何类中添加事件监听器逻辑变得容易。
示例
const eventDispatcher = new EventDispatcher();
eventDispatcher.on('click', () => console.log('data'));
eventDispatcher.dispatch('click', { data: 123 });摘要
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
dispatch() | 按名称分发指定事件。 |
|
fire() | 按名称触发指定事件。 标记为在 TinyMCE 8.0 中移除。请改用 |
|
has() | 如果调度器具有指定名称的事件,则返回 true/false。 |
|
isNative() | 返回 true/false,表示指定事件名称是否为原生浏览器事件。 |
|
off() | 按名称取消绑定特定事件的事件监听器。 |
|
on() | 按名称绑定特定事件的事件监听器。 |
|
once() | 按名称绑定特定事件的事件监听器,并在回调函数触发后自动解除绑定。 |
|
方法
dispatch()
dispatch(name: String, args: Object?): Object
按名称分发指定事件。
示例
instance.dispatch('event', {...});参数
name (String)- 要分发的事件名称args (Object?)- 事件参数。
返回值
Object- 传入的事件参数实例。
fire()
fire(name: String, args: Object?): Object
按名称触发指定事件。
标记为在 TinyMCE 8.0 中移除。请改用 dispatch。
示例
instance.fire('event', {...});参数
name (String)- 要触发的事件名称。args (Object?)- 事件参数。
返回值
Object- 传入的事件参数实例。
has()
has(name: String): Boolean
返回 true/false,表示调度器是否具有指定名称的事件。
参数
name (String)- 要检查的事件名称。
返回值
Boolean- 事件是否存在。
isNative()
isNative(name: String): Boolean
返回 true/false,表示指定事件名称是否为原生浏览器事件。
参数
name (String)- 要检查是否为原生的名称。
返回值
Boolean- 事件是否为原生。
off()
off(name: String?, callback: Function?): Object
按名称取消绑定特定事件的事件监听器。
示例
// 取消绑定特定回调函数
instance.off('event', handler);
// 按名称取消绑定所有监听器
instance.off('event');
// 取消绑定所有事件
instance.off();参数
name (String?)- 要取消绑定的事件名称。callback (Function?)- 要取消绑定的回调函数。
返回值
Object- 当前类实例。
on()
on(name: String, callback: Function, prepend: Boolean): Object
按名称绑定特定事件的事件监听器。
示例
instance.on('event', (e) => {
// 回调逻辑
});参数
name (String)- 要绑定的事件名称或以空格分隔的事件列表。callback (Function)- 事件发生时要执行的回调函数。prepend (Boolean)- 可选标志,表示是否应将事件前置。请谨慎使用。
返回值
Object- 当前类实例。
once()
once(name: String, callback: Function, prepend: Boolean): Object
按名称绑定特定事件的事件监听器,并在回调函数触发后自动解除绑定。
示例
instance.once('event', (e) => {
// 回调逻辑
});参数
name (String)- 要绑定的事件名称或以空格分隔的事件列表。callback (Function)- 事件发生时要执行的回调函数。prepend (Boolean)- 可选标志,表示是否应将事件前置。请谨慎使用。
返回值
Object- 当前类实例。