多个事件的集合管理器
// --------- EventEmitter基本使用 ----------- const emitter = new EventEmitter(); // 听事件-》触发事件-》移除事件 const onHover = () => console.log("be hovered!"); emitter.on("hover", onHover); emitter.emit("hover"); emitter.off("hover", onHover); // 多个事件监听-》移除 emitter.on("hover", onHover); emitter.on("hover", onHover); emitter.removeEventListeners("hover"); // 暂时禁用事件管理器 emitter.beActive = false; // 移除所有事件的监听器 emitter.removeAllListeners(); // ----------定义事件类型 interface KeyboardEventMap { "keydown": KeyboardEvent, "keyup": KeyboardEvent } const keyboard = new EventEmitter<KeyboardEventMap>(); keyboard.on("keydown", (ev) => { console.log(ev.keyCode); });
激活/禁用 事件管理器,在激活状态下,触发事件才会触发监听器
触发指定事件,并传递参数
事件str
事件传递的可选参数
取消对指定事件的监听
监听函数
为指定事件添加一个监听器到监听器数组的尾部
移除所有事件的监听器
移除指定事件的所有监听器
事件
Generated using TypeDoc
多个事件的集合管理器
node.js EventEmitter的简版
// --------- EventEmitter基本使用 ----------- const emitter = new EventEmitter(); // 听事件-》触发事件-》移除事件 const onHover = () => console.log("be hovered!"); emitter.on("hover", onHover); emitter.emit("hover"); emitter.off("hover", onHover); // 多个事件监听-》移除 emitter.on("hover", onHover); emitter.on("hover", onHover); emitter.removeEventListeners("hover"); // 暂时禁用事件管理器 emitter.beActive = false; // 移除所有事件的监听器 emitter.removeAllListeners(); // ----------定义事件类型 interface KeyboardEventMap { "keydown": KeyboardEvent, "keyup": KeyboardEvent } const keyboard = new EventEmitter<KeyboardEventMap>(); keyboard.on("keydown", (ev) => { console.log(ev.keyCode); });