API Reference

Class List

pc.events

global namespace that allows to extend other objects with events Additionally it can handle global events it self.

var obj = { };
pc.events.attach(obj);

// subscribe to an event
obj.on('hello', function(str) {
    console.log('event hello is fired', str);
});

// fire event
obj.fire('hello', 'world');

Summary

Static Methods

attachAttach event methods 'on', 'off', 'fire' and 'hasEvent' to the target object
fireFire an event, all additional arguments are passed on to the event listener
hasEventTest if there are any handlers bound to an event name
offDetach an event handler from an event.
onAttach an event handler to an event
onceAttach an event handler to an event.

Details

Static Methods

attach(target)

Attach event methods 'on', 'off', 'fire' and 'hasEvent' to the target object

var obj = { };
pc.events.attach(obj);

Parameters

targetObjectThe object to add events to.

Returns

Object The target object

fire(name)

Fire an event, all additional arguments are passed on to the event listener

obj.fire('test', 'This is the message');

Parameters

nameObjectName of event to fire
...*Arguments that are passed to the event handler

hasEvent(name)

Test if there are any handlers bound to an event name

obj.on('test', function () { }); // bind an event to 'test'
obj.hasEvent('test'); // returns true

Parameters

nameStringThe name of the event to test

off([name], [callback], [scope])

Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.

var handler = function () {
};
obj.on('test', handler);

obj.off(); // Removes all events
obj.off('test'); // Removes all events called 'test'
obj.off('test', handler); // Removes all handler functions, called 'test'
obj.off('test', handler, this); // Removes all hander functions, called 'test' with scope this

Parameters

nameStringName of the event to unbind
callbackfunctionFunction to be unbound
scopeObjectScope that was used as the this when the event is fired

on(name, callback, [scope])

Attach an event handler to an event

obj.on('test', function (a, b) {
    console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console

Parameters

nameStringName of the event to bind the callback to
callbackfunctionFunction that is called when event is fired. Note the callback is limited to 8 arguments.
scopeObjectObject to use as 'this' when the event is fired, defaults to current this

once(name, callback, [scope])

Attach an event handler to an event. This handler will be removed after being fired once.

obj.once('test', function (a, b) {
    console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console
obj.fire('test', 1, 2); // not going to get handled

Parameters

nameStringName of the event to bind the callback to
callbackfunctionFunction that is called when event is fired. Note the callback is limited to 8 arguments.
scopeObjectObject to use as 'this' when the event is fired, defaults to current this