diff --git a/lib/chuckt.js b/lib/chuckt.js index 6fc6639..4b5ad40 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 callback !== "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]; + } } };