/event-dispatcher

Simple javascript events dispatcher with the jQuery like listeners notation

Primary LanguageJavaScript

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:

npm install events-dispatcher

Usage:

HTML:

Fill free to change module path for your own project structure

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

JavaScript:

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


    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


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

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


    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


    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


    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