vent.js
JavaScript event dispatcher that facilitates binding, unbinding and triggering of events. Version 0.1.x supports namespaced events.
vent.js ships with support for commonJS and AMD environments.
Usage
Regular events
//create a new instance of vent.var vent = ; //bind an event listener.vent; //trigger an eventvent; //unbind an eventvent;
Namespaced events
var vent = ; vent; vent; //will trigger both handlersvent; //will trigger only the first handlervent;
Wildcards
var vent = ; //will fire when any event is triggeredvent; //will fire when any event with this namespace is triggeredvent; //will unbind all event handlers with this namespacevent;
on / bind
vent.on(event, callback, [context])
Bind listener(s) to an event. The callback
will be invoked when the event
is triggered. To bind the same callback to multiple events pass the event
parameter in as a space-separated string.
The context of the callback can be specified by passing an object in as the optional third parameter.
off / unbind
vent.off([event], [callback], [context])
Unbind listener(s) from an event. There are 4 levels of specificity that can be achieved with this method;
-
No parameters
Removes all event listeners
vent.off();
-
1 parameter
Removes all event listeners for the given event name
vent.off('change');
-
2 parameters
Removes all event listeners for the given event name that match the callback function
vent.off('change', onChange);
-
3 parameters
Removes all event listeners for the given event name that match the callback function and the context
vent.off('change', onChange, anotherObject);
Like the on
method, the event
parameter may refer to more than one event by passing it as a space-separated string.
trigger
vent.trigger(event, [*args])
Trigger event listener(s). The arguments that are passed into this method after event
are sent to the event handler.
Multiple events can be triggered by passing the event
parameter as a space-separated string.