Javascript 如何在Aurelia中使用屏幕键盘?

Javascript 如何在Aurelia中使用屏幕键盘?,javascript,html,aurelia,on-screen-keyboard,Javascript,Html,Aurelia,On Screen Keyboard,我想在我的项目中使用屏幕键盘,它是在Aurelia平台(WebStorm+Aurelia+Typescript)中编写的。为此,我们必须使用基于JavaScript/HTML的键盘。 以下代码适用于我: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script src="https://code.jqu

我想在我的项目中使用屏幕键盘,它是在Aurelia平台(WebStorm+Aurelia+Typescript)中编写的。为此,我们必须使用基于JavaScript/HTML的键盘。 以下代码适用于我:

<html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script src="https://code.jquery.com/jquery-git.js"></script>
      <script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
      <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css">
      <link rel="stylesheet" href="https://mottie.github.io/Keyboard/css/keyboard.css">
      <script src="https://mottie.github.io/Keyboard/js/jquery.keyboard.js"></script>
      <script src="https://mottie.github.io/Keyboard/js/jquery.mousewheel.js"></script>
      <script src="https://mottie.github.io/Keyboard/js/jquery.keyboard.extension-typing.js"></script>
      <script>
      /* VIRTUAL KEYBOARD DEMO - https://github.com/Mottie/Keyboard */
      $(function() {
        $('#keyboard').keyboard({
          layout: 'qwerty'
        })
        // activate the typing extension
        .addTyping({
          showTyping: true,
          delay: 250
        });
      });
      </script>
    </head>
    <body>
      <div id="wrap">
        <input id="keyboard" type="text" />
      </div>
    </body>
</html>
<body>
  <div id="wrap">
    <input class="keyboard" type="text" />
    <input class="keyboard" type="text" />
    <input class="numpad" type="text" />
  </div>
</body>
</html>

/*虚拟键盘演示-https://github.com/Mottie/Keyboard */
$(函数(){
$(“#键盘”)。键盘({
布局:“qwerty”
})
//激活键入扩展名
.addTyping({
是的,
延误:250
});
});

我不知道如何将此代码集成到项目中。您能帮助我吗?

关于如何将jQuery插件添加到您的项目中,有很多关于如何添加插件的博客文章,答案取决于您使用的模块加载器/绑定器

关于像这样使用jQuery插件的细节,我将使用一个自定义属性

这里有一个例子:

keyboard.js

从“aurelia框架”导入{inject};
@注入(元素)
导出类KeyboardCustomAttribute{
建造师(el){
this.el=el;
}
附({
$(this.el)。键盘({
布局:“qwerty”
})
//激活键入扩展名
.addTyping({
是的,
延误:250
});
}
}
app.html


姓名:

请注意,在本例中,我只是使用脚本标记加载了jQuery内容,以简化我的生活。

至于如何将jQuery插件添加到项目中,有许多关于如何添加的博客文章,答案取决于您使用的模块加载程序/绑定器

关于像这样使用jQuery插件的细节,我将使用一个自定义属性

这里有一个例子:

keyboard.js

从“aurelia框架”导入{inject};
@注入(元素)
导出类KeyboardCustomAttribute{
建造师(el){
this.el=el;
}
附({
$(this.el)。键盘({
布局:“qwerty”
})
//激活键入扩展名
.addTyping({
是的,
延误:250
});
}
}
app.html


姓名:

请注意,在本例中,我只是使用脚本标记加载了jQuery内容,以简化我的生活。

这是开放式的。请缩小范围,我做到了。谢谢。对不起,我不是故意粗鲁的“如何在项目中集成此代码”是一个非常开放的问题。可以写一篇关于如何做的文章。在我看来,这不适合StackOverflow。我理解它,但我真的不知道更多关于它的解释。也许可以为此编写自定义属性。如果您的问题是如何将jquery代码集成到Aurelia自定义元素中,请检查以下内容:这是开放式的。请缩小范围,我做到了。谢谢。对不起,我不是故意粗鲁的“如何在项目中集成此代码”是一个非常开放的问题。可以写一篇关于如何做的文章。在我看来,这不适合StackOverflow。我理解它,但我真的不知道更多关于它的解释。也许可以为此编写自定义属性。如果您的问题是如何将jquery代码集成到Aurelia自定义元素中,请检查以下内容:非常感谢。我这样做了,但编辑的代码如下:$(()=>{$(“#键盘”).keyboard(kbOptions.addNavigation(navOptions);})。我得到这个错误:$不是一个函数。你有什么解决办法吗?我不知道为什么那样不行。也就是说,不要在Aurelia应用程序中执行
$(“#键盘”)
。在Aurelia应用程序中,您永远不应该基于元素ID执行查询选择器,因为这将导致您的代码仅适用于该特定元素,或者导致您必须进行编码练习,以便为元素指定唯一的名称。Aurelia将为您提供可以传递给jQuery的元素本身,因此请使用它,就像我在示例中所做的那样。非常感谢。我这样做了,但编辑的代码如下:$(()=>{$(“#键盘”).keyboard(kbOptions.addNavigation(navOptions);})。我得到这个错误:$不是一个函数。你有什么解决办法吗?我不知道为什么那样不行。也就是说,不要在Aurelia应用程序中执行
$(“#键盘”)
。在Aurelia应用程序中,您永远不应该基于元素ID执行查询选择器,因为这将导致您的代码仅适用于该特定元素,或者导致您必须进行编码练习,以便为元素指定唯一的名称。Aurelia将为您提供可以传递给jQuery的元素本身,因此请使用它,就像我在示例中所做的那样。