Skip to content

Instantly share code, notes, and snippets.

@ndastur
Created June 4, 2013 14:36
Show Gist options
  • Save ndastur/5706413 to your computer and use it in GitHub Desktop.
Save ndastur/5706413 to your computer and use it in GitHub Desktop.
Common JS module to help with handling Titanium Appcelerator events.
/*
* Common JS module to help with Ti Event listener handling.
* @author Neville Dastur
* @url http://www.clinsoftsolutions.com
*
* Acknowledgements go to https://gist.github.com/minhnc/2333095 as my starting point on this
*/
exports.registerEventListener = function(obj, event, callabck) {
if ( typeof obj._eventListeners == 'undefined' ) {
obj._eventListeners = [];
}
obj.addEventListener(event, callback);
// var eventListeners = obj._eventListeners;
// eventListeners.push({event: event, callback: callback});
// obj._eventListeners = eventListeners;
obj._eventListeners.push({event: event, callback: callback});
Ti.API.info( JSON.stringify(obj._eventListeners) );
}
exports.unRegisterAllEventListeners = function(obj) {
unRegisterEventListeners(obj);
}
exports.unRegisterEventListeners = function(obj, event) {
if ( typeof obj._eventListeners == 'undefined' || obj._eventListeners.length == 0 ) {
return;
}
var savedListeners = obj._eventListeners;
for(var i = 0, len = obj._eventListeners.length; i < len; i++) {
var e = obj._eventListeners[i];
if (event && event !== e.event) continue;
obj.removeEventListener(e.event, e.callback);
savedListeners = savedListeners.splice(i, 1);
}
obj._eventListeners = savedListeners;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment