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.
//create a new instance of vent.
var vent = new Vent();
//bind an event listener.
vent.on('myEvent', function(data){
console.log(data);
});
//trigger an event
vent.trigger('myEvent', {
some: 'data'
});
//unbind an event
vent.off('myEvent');
var vent = new Vent();
vent.on('myEvent.namespace1', function(data){
console.log(data);
});
vent.on('myEvent.namespace2', function(data){
console.log(data);
});
//will trigger both handlers
vent.trigger('myEvent');
//will trigger only the first handler
vent.trigger('myEvent.namespace1');
var vent = new Vent();
//will fire when any event is triggered
vent.on('*', function(){
});
//will fire when any event with this namespace is triggered
vent.on('*.myNamespace', function(){
});
//will unbind all event handlers with this namespace
vent.off('*.myNamespace');
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.
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.
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.