如何在按下空格键或箭头键时在Javascript(使用KineticJs)中触发事件

如何在按下空格键或箭头键时在Javascript(使用KineticJs)中触发事件,javascript,syntax,kineticjs,Javascript,Syntax,Kineticjs,如何在空格键点击或箭头键点击时触发javascript中的事件?我使用kineticjs作为我的框架,尽管这可能与此无关,因为这可以在常规javascript中完成。谢谢 不幸的是,KineticJS无法处理键盘事件。你可以用普通的javascript来做,但可能会有点乏味。有一些很好的库可以为您提供,我一直在使用它们,效果非常好 快速示例: KeyboardJS.on("ctrl + c", function() { if (selectedNode) { tempNode = s

如何在空格键点击或箭头键点击时触发javascript中的事件?我使用kineticjs作为我的框架,尽管这可能与此无关,因为这可以在常规javascript中完成。谢谢

不幸的是,KineticJS无法处理键盘事件。你可以用普通的javascript来做,但可能会有点乏味。有一些很好的库可以为您提供,我一直在使用它们,效果非常好

快速示例:

KeyboardJS.on("ctrl + c", function() {
  if (selectedNode) {
    tempNode = selectedNode.clone();
  }
});

KineticJS不处理键盘事件,我不认为有一天Kinetic会被用作HTML5画布JavaScript框架

但是KineticJS与JQuery兼容,JQuery可以提供您所需要的

以下是一个例子:

 $(document).keydown(function(event){

        console.log("key index : " + event.which);

        if (event.which == 38) {          //UP                                                              
            console.log("Up");
            event.preventDefault();
        } else if (event.which == 37) {   //LEFT                                                            
            console.log("Left");
            event.preventDefault();
        } else if (event.which == 39) {   //RIGHT                                                            
            console.log("Right");
            event.preventDefault();
        } else if (event.which == 40) {   //DOWN                                                            
            console.log("Right");
            event.preventDefault();
        }
 }
希望它能帮助你


泽维尔

谢谢你的回复,如果有必要,我会求助于图书馆。为了了解编码知识,有没有一种现实的方法可以在标准javascript中实现这一点?或者我会重新发明轮子。谢谢!我试着四处寻找对应于“which”值的击键值列表(只说which,因为代码就是这么说的)。你知道这样的名单是否存在吗?我不知道38意味着向上等等。@hippofluff有几个列表,这篇文章在底部有一个,还讨论了很多键盘输入的复杂性。您可以通过控制台记录这些密钥来轻松检索它们。log(“键索引:+event.which”);谢谢@Greg,这就是我想要的:)和@XavierHaennig,这绝对是一个好观点,它将得到实施,谢谢。