Javascript 如何在Aurelia中使用屏幕键盘?
我想在我的项目中使用屏幕键盘,它是在Aurelia平台(WebStorm+Aurelia+Typescript)中编写的。为此,我们必须使用基于JavaScript/HTML的键盘。 以下代码适用于我: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
<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的元素本身,因此请使用它,就像我在示例中所做的那样。