#EventEmitter.js
- Using constructor:
var emitter = new EventEmitter();
- Merging with an object.
var emitter = EventEmitter.extend({});
- Inheriting:
EventEmitter.extend(Emitter);
function Emitter(){}
##Listen:
- Basic:
emitter.on('some_event', function(data, eventName){
console.log("'%s' has been triggered with data: ", eventName);
})
- Multiple events:
emitter.on('some_event, some_other_event', function(data, eventName){
console.log("'%s' has been triggered with data: ", eventName);
})
- Multiple listeners:
emitter.on('some_event', function(data, eventName){
console.log("#1 - '%s' has been triggered with data: ", eventName);
}, function(data, eventName){
console.log("#2 - '%s' has been triggered with data: ", eventName);
});
// this works too:
emitter.on('some_event', [function(data, eventName){
console.log("#1 - '%s' has been triggered with data: ", eventName);
}, function(data, eventName){
console.log("#2 - '%s' has been triggered with data: ", eventName);
}]);
##Trigger:
- Basic:
emitter.trigger('some_event', {value: 300});
- Multiple events:
emitter.trigger('some_event, some_other_event', {value: 300});
##Remove:
Single:
emitter.off('some_event'); // all the listeners are removed.
emitter.off('some_event', someFunction);
Multiple:
emitters.off('some_event, someother_event', functionName);
emitters.off('some_event', [functionName, someOtherFunctionName]);