Merge pull request #626 from kzhdev/fix-node-_fire-error

Don't use cached event listener length in node._fire because changing shape attribute could remove kinetic event handler from the array which will cause 'hander of undefined' error
This commit is contained in:
Andrew Ippoliti
2013-10-10 20:11:17 -07:00
2 changed files with 4 additions and 5 deletions

View File

@@ -1210,11 +1210,10 @@
}, },
_fire: function(eventType, evt) { _fire: function(eventType, evt) {
var events = this.eventListeners[eventType], var events = this.eventListeners[eventType],
len, i; i;
if (events) { if (events) {
len = events.length; for(i = 0; i < events.length; i++) {
for(i = 0; i < len; i++) {
events[i].handler.call(this, evt); events[i].handler.call(this, evt);
} }
} }

View File

@@ -411,7 +411,7 @@
} }
// content event // content event
this._fire(CONTENT_MOUSEDOWN); this._fire(CONTENT_MOUSEDOWN, evt);
// always call preventDefault for desktop events because some browsers // always call preventDefault for desktop events because some browsers
// try to drag and drop the canvas element // try to drag and drop the canvas element
@@ -451,7 +451,7 @@
} }
} }
// content events // content events
this._fire(CONTENT_MOUSEUP); this._fire(CONTENT_MOUSEUP, evt);
if (Kinetic.listenClickTap) { if (Kinetic.listenClickTap) {
this._fire(CONTENT_CLICK, evt); this._fire(CONTENT_CLICK, evt);
if(fireDblClick) { if(fireDblClick) {