repair cancelBubble event property behaviour. fix #123.

This commit is contained in:
Anton Lavrenov 2016-01-26 23:21:25 +08:00
parent 6643fe8d9b
commit e3596d6c63
5 changed files with 43 additions and 6 deletions

View File

@ -4,6 +4,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Not released][Not released]
## Fixed
- repair `cancelBubble` event property behaviour
## [0.11.1][2016-01-16]

View File

@ -3,7 +3,7 @@
* Konva JavaScript Framework v0.11.1
* http://konvajs.github.io/
* Licensed under the MIT or GPL Version 2 licenses.
* Date: Sat Jan 16 2016
* Date: Tue Jan 26 2016
*
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
* Modified work Copyright (C) 2014 - 2015 by Anton Lavrenov (Konva)
@ -4022,7 +4022,7 @@
var events = this.eventListeners[eventType],
i;
evt = Konva.Util.cloneObject(evt || {});
evt = evt || {};
evt.currentTarget = this;
evt.type = eventType;

4
konva.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1785,7 +1785,7 @@
var events = this.eventListeners[eventType],
i;
evt = Konva.Util.cloneObject(evt || {});
evt = evt || {};
evt.currentTarget = this;
evt.type = eventType;

View File

@ -1910,6 +1910,41 @@ suite('Node', function() {
assert.equal(clicks[1], 'layer');
});
// ======================================================
test('simulate cancel event bubble', function() {
var stage = addStage();
var layer = new Konva.Layer();
var circle = new Konva.Circle({
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
radius: 70,
fill: 'green',
stroke: 'black',
strokeWidth: 4,
name: 'myCircle'
});
stage.add(layer);
layer.add(circle);
layer.draw();
var clicks = [];
circle.on('click', function(e) {
e.cancelBubble = true;
clicks.push('circle');
});
layer.on('click', function() {
clicks.push('layer');
});
circle.fire('click', {}, true);
assert.equal(clicks[0], 'circle');
assert.equal(clicks.length, 1);
});
test('simple event delegation', function() {
var stage = addStage();
var layer = new Konva.Layer();