Created
June 4, 2013 14:36
-
-
Save ndastur/5706413 to your computer and use it in GitHub Desktop.
Common JS module to help with handling Titanium Appcelerator events.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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