Konva.js可以识别SHIFT+dblclick吗?

问题描述 投票:0回答:1

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>
javascript shift double-click konvajs
1个回答
1
投票

e 参数,你在 dblclick 事件不是一个本地事件对象。它是一个自定义对象,由 Konva. 如果你需要访问本地事件,你可以使用 e.evt:

stage.on('dblclick', function (e) {
  var shift = e.evt.shiftKey;
});
© www.soinside.com 2019 - 2024. All rights reserved.