allow removing listener while event is dispatched

This commit is contained in:
nightwing 2013-08-26 21:41:18 +04:00
commit b2eac666e5

View file

@ -55,6 +55,7 @@ EventEmitter._dispatchEvent = function(eventName, e) {
if (!e.preventDefault)
e.preventDefault = preventDefault;
listeners = listeners.slice();
for (var i=0; i<listeners.length; i++) {
listeners[i](e, this);
if (e.propagationStopped)
@ -70,7 +71,7 @@ EventEmitter._signal = function(eventName, e) {
var listeners = (this._eventRegistry || {})[eventName];
if (!listeners)
return;
listeners = listeners.slice();
for (var i=0; i<listeners.length; i++)
listeners[i](e, this);
};