mirror of
https://github.com/konvajs/konva.git
synced 2026-01-22 21:02:26 +08:00
fix mouseout and mouseleave event on shape destroy. fix #905
This commit is contained in:
@@ -2172,7 +2172,54 @@ suite('MouseEvents', function() {
|
||||
assert.equal(mouseenter, 0, 'mouseenter should be 1');
|
||||
});
|
||||
|
||||
test('should not trigger mouseenter on stage when we go to the shape directly', function() {
|
||||
test('should not trigger mouseleave after shape destroy', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
stage.add(layer);
|
||||
|
||||
var rect = new Konva.Rect({
|
||||
width: 50,
|
||||
height: 50,
|
||||
fill: 'red'
|
||||
});
|
||||
layer.add(rect);
|
||||
|
||||
layer.draw();
|
||||
|
||||
var mouseout = 0;
|
||||
var mouseleave = 0;
|
||||
stage.on('mouseout', function() {
|
||||
mouseout += 1;
|
||||
});
|
||||
|
||||
rect.on('mouseout', function() {
|
||||
mouseout += 1;
|
||||
});
|
||||
|
||||
stage.on('mouseleave', function() {
|
||||
mouseleave += 1;
|
||||
});
|
||||
|
||||
rect.on('mouseleave', function() {
|
||||
mouseleave += 1;
|
||||
});
|
||||
|
||||
stage.simulateMouseMove({
|
||||
x: 10,
|
||||
y: 10
|
||||
});
|
||||
|
||||
rect.destroy();
|
||||
layer.draw();
|
||||
stage.simulateMouseMove({
|
||||
x: 20,
|
||||
y: 20
|
||||
});
|
||||
assert.equal(mouseout, 0);
|
||||
assert.equal(mouseleave, 0);
|
||||
});
|
||||
|
||||
test('should not trigger mouseenter on stage twice when we go to the shape directly', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
stage.add(layer);
|
||||
|
||||
@@ -3064,7 +3064,8 @@ suite('Transformer', function() {
|
||||
layer.add(rect);
|
||||
|
||||
var tr = new Konva.Transformer({
|
||||
nodes: [rect]
|
||||
nodes: [rect],
|
||||
ignoreStroke: true
|
||||
});
|
||||
layer.add(tr);
|
||||
layer.draw();
|
||||
|
||||
Reference in New Issue
Block a user