项目作者: powerbot15

项目描述 :
Simple javascript events dispatcher with the jQuery like listeners notation
高级语言: JavaScript
项目地址: git://github.com/powerbot15/event-dispatcher.git
创建时间: 2016-02-27T19:16:11Z
项目社区:https://github.com/powerbot15/event-dispatcher

开源协议:

下载


Events Dispatcher

Easy handling of the custom logical events

Event dispatcher is a lightweight javascript module for custom events handling in frontend javascript applications.

Installation

In the project directory:

  1. npm install events-dispatcher

Usage:

HTML:

Fill free to change module path for your own project structure

  1. <script src="/node_modules/events-dispatcher/events-dispatcher.js"></script>

JavaScript:

  1. var dispatcher = new EventsDispatcher();

Interface

Events dispatcher uses jQuery like events handling notation BUT enables you to pass a custom context to callbacks as this

Notice: when context is not defined, dispatcher passes window or global as context to callbacks


  1. dispatcher.on( eventName, callback [, context] )

eventName - Space separated string with events’ names 'eventA eventB eventC' to be listened
callback - Callback to be fired when event triggered
context - Not required argument to be a context of the fired event callback


  1. dispatcher.once( eventName, callback [, context] )

Same as dispatcher.on() method but attached callbacks will be fired only once and then destroyed


  1. dispatcher.deBouncedOn(delay, eventName, callback [, context]);

deBouncedOn method allows attach to event debounced callbacks. Such callback will be fired only if within delay in milliseconds listened event was not fired. If event was fired during the delay, timer refreshed and callback waiting when same delay will finish

delay - Delay in milliseconds to wait for event firings
eventName - Space separated string with events’ names 'eventA eventB eventC' to be listened
callback - Callback to be fired after delay time from the moment event triggered
context - Not required argument to be a context of the fired event callback


  1. dispatcher.off(eventName [, callback]);

eventName - Space separated string with events’ names 'eventA eventB eventC', which callbacks will be removed
callback - callback function to detach from event callbacks, if not passed, all callbacks of the event will be removed


  1. dispatcher.trigger(eventName [, dataArg1, ... , dataArgN]);

trigger() method fires all attached to event callbacks and debounced callbacks

eventName - Space separated string with events’ names 'eventA eventB eventC' to be listened
dataArg1-dataArgN - Comma-separated data objects(arrays) to pass as parameters to event callbacks