Javascript 如何在按键时聚焦输入?

Javascript 如何在按键时聚焦输入?,javascript,html,dom,Javascript,Html,Dom,所以我给我叔叔做了一个acres and karats计算器,我使用的是香草javascript,我想把注意力集中在文本输入上,当我按下键盘上的任何一个numpad键时,在文本框中键入这个数字,我在网上搜索了大约一个小时,但我找不到我想要的。 这就是它看起来的样子。 哦,我还忘了提到我想在按下键盘上的一个键时产生点击动画,但我不知道怎么做。 如有任何帮助,我们将不胜感激 ` ` 1基本上,您的问题是监听数字按钮上的按键-您需要创建一个全局按键侦听器,该侦听器将监听任何按键,然后更新您的输入

所以我给我叔叔做了一个acres and karats计算器,我使用的是香草javascript,我想把注意力集中在文本输入上,当我按下键盘上的任何一个numpad键时,在文本框中键入这个数字,我在网上搜索了大约一个小时,但我找不到我想要的。

这就是它看起来的样子。 哦,我还忘了提到我想在按下键盘上的一个键时产生点击动画,但我不知道怎么做。 如有任何帮助,我们将不胜感激

`

`


1

基本上,您的问题是监听数字按钮上的按键-您需要创建一个全局按键侦听器,该侦听器将监听任何按键,然后更新您的输入

const input=document.getElementById('input');
函数listenForKeyPress(){
//为所有按键添加文档事件侦听器
文件。添加的文件列表器('keyup',(e)=>{
//检查按键是否为数字
如果(/[0-9]/g.test(e.key)){
//检查输入是否尚未聚焦
if(document.activeElement!==输入){
//焦点元素
input.focus();
//焦点值
input.value+=e.key;
}
}
})
}
//调用函数
listenForKeyPress()

在我们帮助您之前,您需要发布您的代码。看起来很不错。但是正如@SmokeyDawson提到的,如果没有一些代码,就很难提供帮助,@SmokeyDawson哦,对不起,我完全forgot@SmokeyDawson我加了代码,非常感谢,现在可以用了,但是点击元素仍然有效,因为我已经在点击按钮时添加了事件监听器还有一件事我想让点击动画在我按下键盘上的数字时起作用,我可以使用css中的类和javascript中的classList.toggle来添加它吗?如果你能帮我解决这个问题,那就太好了
function onekey(event) {
    if(event.keyCode === 1) {
        input.focus();
        input.value += 1;
    }
 }