node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »



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.