Skip to content

accordionpeas/vent.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 = 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');

Namespaced events

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');

Wildcards

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');

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.

About

JavaScript event dispatcher

Resources

Stars

Watchers

Forks

Packages

No packages published