allow removing listener while event is dispatched
This commit is contained in:
parent
6a76d63491
commit
b2eac666e5
1 changed files with 2 additions and 1 deletions
|
|
@ -55,6 +55,7 @@ EventEmitter._dispatchEvent = function(eventName, e) {
|
||||||
if (!e.preventDefault)
|
if (!e.preventDefault)
|
||||||
e.preventDefault = preventDefault;
|
e.preventDefault = preventDefault;
|
||||||
|
|
||||||
|
listeners = listeners.slice();
|
||||||
for (var i=0; i<listeners.length; i++) {
|
for (var i=0; i<listeners.length; i++) {
|
||||||
listeners[i](e, this);
|
listeners[i](e, this);
|
||||||
if (e.propagationStopped)
|
if (e.propagationStopped)
|
||||||
|
|
@ -70,7 +71,7 @@ EventEmitter._signal = function(eventName, e) {
|
||||||
var listeners = (this._eventRegistry || {})[eventName];
|
var listeners = (this._eventRegistry || {})[eventName];
|
||||||
if (!listeners)
|
if (!listeners)
|
||||||
return;
|
return;
|
||||||
|
listeners = listeners.slice();
|
||||||
for (var i=0; i<listeners.length; i++)
|
for (var i=0; i<listeners.length; i++)
|
||||||
listeners[i](e, this);
|
listeners[i](e, this);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue