0.1.0 • Published 8 years ago

vent v0.1.0

Weekly downloads
19
License
-
Repository
github
Last release
8 years ago

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.