node package manager


JavaScript event dispatcher


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.


Regular events

//create a new instance of vent. 
var vent = new Vent();
//bind an event listener. 
vent.on('myEvent', function(data){
//trigger an event 
vent.trigger('myEvent', {
    some: 'data'
//unbind an event'myEvent');

Namespaced events

var vent = new Vent();
vent.on('myEvent.namespace1', function(data){
vent.on('myEvent.namespace2', function(data){
//will trigger both handlers 
//will trigger only the first handler 


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'*.myNamespace');

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[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;

  • 1 parameter

    Removes all event listeners for the given event name'change');

  • 2 parameters

    Removes all event listeners for the given event name that match the callback function'change', onChange);

  • 3 parameters

    Removes all event listeners for the given event name that match the callback function and the context'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.