Konva的舞台不能识别SHIFT+dblclick,这样理解正确吗?
在我下面的代码中,(1)没有实现------是的,我想实现(1).当双击时,(2)和(4)正确显示(如预期),而当按住shift键双击时,(2)(不是(1)!)和(3)显示。
我的代码。
<!DOCTYPE html>
<html>
<body>
<div id="container"></div>
</body>
<script src="https://unpkg.com/[email protected]/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>
e
参数,你在 dblclick
事件不是一个本地事件对象。它是一个自定义对象,由 Konva
. 如果你需要访问本地事件,你可以使用 e.evt
:
stage.on('dblclick', function (e) {
var shift = e.evt.shiftKey;
});