ray-event-tools
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

ray-event-tools

npm install --save ray-event-tools

usage

EventTrigger

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;

RayEmitter

  • 自定义创建
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

  • 使用默认 events
import events from 'ray-event-tools/lib/events';

events 包含以下属性:

  • EventManager
  • fn
  • DOM
  • platform
  • browser
  • Class
  • Lang
  • toCamelCase

author

ilex.h

changelog

  • 2019-1-8 v1.0.2

    add events and modify EventTrigger bugs

  • 2018-12-29 v1.0.0

    init

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i ray-event-tools

Weekly Downloads

3

Version

1.0.2

License

MIT

Unpacked Size

23.3 kB

Total Files

7

Last publish

Collaborators

  • ilex.h