From 09b26eb726ca63fb17cdd43fd749b7509ed4abfe Mon Sep 17 00:00:00 2001 From: Justin McCormick Date: Wed, 22 Jul 2015 02:24:36 -0500 Subject: [PATCH 1/2] Adding support to remove a specific listener for an event --- lib/chuckt.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/chuckt.js b/lib/chuckt.js index 6fc6639..57009b8 100644 --- a/lib/chuckt.js +++ b/lib/chuckt.js @@ -108,11 +108,23 @@ window.epixa || (window.epixa = {}); * * @param event */ - ChuckT.prototype.removeListeners = function(event) { + ChuckT.prototype.removeListeners = function(event, callback) { if (typeof event === 'undefined') { this.listeners = {}; } else { - delete this.listeners[event]; + if (typeof listener !== "undefined") { + var len = this.listeners[event].length; + + for (var i = 0; i < len; i ++) { + if (this.listeners[event][i] === callback) { + this.listeners[event].splice(i, 1); + len --; + i --; + } + } + } else { + delete this.listeners[event]; + } } }; From 917bf565869e978f46fe9a4875917b5122a9de17 Mon Sep 17 00:00:00 2001 From: Justin McCormick Date: Sat, 1 Aug 2015 04:09:26 -0500 Subject: [PATCH 2/2] Fixing a typo in removeListeners --- lib/chuckt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/chuckt.js b/lib/chuckt.js index 57009b8..4b5ad40 100644 --- a/lib/chuckt.js +++ b/lib/chuckt.js @@ -112,7 +112,7 @@ window.epixa || (window.epixa = {}); if (typeof event === 'undefined') { this.listeners = {}; } else { - if (typeof listener !== "undefined") { + if (typeof callback !== "undefined") { var len = this.listeners[event].length; for (var i = 0; i < len; i ++) {