Konva.js能识别SHIFT+dblclick吗?
Can Konva.js recognize SHIFT+dblclick?
Konva的stage不识别SHIFT+dblclick是不是理解正确?
在我下面的代码中,(1) 没有实现---是的,我想实现 (1)。
双击时,(2) 和 (4) 正确显示(如预期),而
按住 shift 键并双击时,(2)(不是 (1)!)和 (3) 出现。
我的代码:
<!DOCTYPE html>
<html>
<body>
<div id="container"></div>
</body>
<script src="https://unpkg.com/konva@5.0.2/konva.min.js"></script>
<script>//Double click on Konva's stage.
var stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight
});
stage.on('dblclick', function (e) {
var key_shift1 = e.shiftKey;
if (key_shift1){
console.log('(1)[Konva]SHIFT+dblclick-->No! I want this.');
}else {
console.log('(2)[Konva]dblclick-->Yes!');
}
});
</script>
<script>//Double click ordinally
document.querySelector('body').addEventListener('dblclick', function (e) {
var key_shift2 = e.shiftKey;
if (key_shift2){
console.log('(3)SHIFT+dblclick-->Yes!');
}else {
console.log('(4)dblclick-->Yes!');
}
});
</script>
</html>
您在 dblclick
事件中使用的 e
参数不是本机事件对象。它是一个自定义对象,由 Konva
创建。如果您需要访问本地事件,您可以使用 e.evt
:
stage.on('dblclick', function (e) {
var shift = e.evt.shiftKey;
});
Konva的stage不识别SHIFT+dblclick是不是理解正确?
在我下面的代码中,(1) 没有实现---是的,我想实现 (1)。 双击时,(2) 和 (4) 正确显示(如预期),而 按住 shift 键并双击时,(2)(不是 (1)!)和 (3) 出现。
我的代码:
<!DOCTYPE html>
<html>
<body>
<div id="container"></div>
</body>
<script src="https://unpkg.com/konva@5.0.2/konva.min.js"></script>
<script>//Double click on Konva's stage.
var stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight
});
stage.on('dblclick', function (e) {
var key_shift1 = e.shiftKey;
if (key_shift1){
console.log('(1)[Konva]SHIFT+dblclick-->No! I want this.');
}else {
console.log('(2)[Konva]dblclick-->Yes!');
}
});
</script>
<script>//Double click ordinally
document.querySelector('body').addEventListener('dblclick', function (e) {
var key_shift2 = e.shiftKey;
if (key_shift2){
console.log('(3)SHIFT+dblclick-->Yes!');
}else {
console.log('(4)dblclick-->Yes!');
}
});
</script>
</html>
dblclick
事件中使用的 e
参数不是本机事件对象。它是一个自定义对象,由 Konva
创建。如果您需要访问本地事件,您可以使用 e.evt
:
stage.on('dblclick', function (e) {
var shift = e.evt.shiftKey;
});