// 监听者
let listeners = {};
// 注册监听事件
function registerListener(event, fn) {
if (!listeners[event]) {
listeners[event] = [];
}
let listener = fn;
listeners[event].push(listener);
return listeners;
}
// 取消监听
function unregisterListener(event, listener) {
if (listeners[event]) {
let index = listeners[event].findIndex((item) => item === listener);
listeners[event].splice(index, 1);
}
}
// 触发事件
function triggerEvent(event, data) {
let fnList = listeners[event];
if (fnList && fnList.length > 0) {
for (let i = 0; i < fnList.length; i++) {
let listener = fnList[i];
listener(data);
}
}
}
网友评论