npm install --save ray-event-tools
import { EventTrigger } from 'ray-event-tools';
// or import EventTrigger from 'ray-event-tools/lib/eventTrigger';
const et = new EventTrigger();
et.addEventListener('loaded', fn1, 0);
et.addEventListener('unloaded', fn2, 0);
// 触发 loaded
et.dispatchEvent({ type: 'loaded' });
- methods
/**
* Event Trigger
* @params params
* @params params.name
*/
constructor(params: Object);
/**
* 添加事件监听
* @param type 事件类型
* @param listener 事件回调
* @param priority 事件优先权
*/
addEventListener(type: string, listener: EventListener, priority: number): Object;
/**
* 判断是否已经有事件监听
* @param type
* @param listener
*/
hasEventListener(type: string, listener: EventListener): Boolean;
/**
* 移除事件
* @param type
* @param listener
*/
removeEventListener(type: string, listener: EventListener): void;
/**
* 移除所有事件
*/
removeAllListeners(): void;
/**
* 触发事件
* @param event
*/
dispatchEvent(event: Event): true;
- 自定义创建
import { RayEmitter } from 'ray-event-tools';
// or import RayEmitter from 'ray-event-tools/lib/eventEmitter';
const emitterObj = {};
const emitterInstance = new RayEmitter(emitterObj);
// Listen on the given `event` with `fn`.
emitterInstance.on(event, fn);
emitterInstance.addEventListener(event, fn);
// Adds an `event` listener that will be invoked a single time then automatically removed.
emitterInstance.once(event, fn);
// Remove the given callback for `event` or all registered callbacks.
emitterInstance.off(event, fn);
emitterInstance.removeListener(event, fn);
emitterInstance.removeAllListeners(event, fn);
emitterInstance.removeEventListener(event, fn);
// Emit `event` with the given args.
emitterInstance.emit(event);
// Return array of callbacks for `event`.
emitterInstance.listeners(event);
// Check if this emitter has `event` handlers.
emitterInstance.hasListeners(event);
- 使用内置默认 instance
import { emitterInstance } from 'ray-event-tools';
...
- 使用默认 events
import events from 'ray-event-tools/lib/events';
events 包含以下属性:
- EventManager
- fn
- DOM
- platform
- browser
- Class
- Lang
- toCamelCase
ilex.h
-
2019-1-8 v1.0.2
add events and modify EventTrigger bugs
-
2018-12-29 v1.0.0
init
MIT