Javascript 如何使用硬件键盘键触发html按钮及其onclick功能?

Javascript 如何使用硬件键盘键触发html按钮及其onclick功能?,javascript,button,onclick,addeventlistener,Javascript,Button,Onclick,Addeventlistener,我是一个编程新手,这个话题可能很常见,但它让我很困惑 我有一个按钮: <button onclick = typeWriter()>/click</button>` /点击` 我的职能: var myArray = ['such', 'something else', ]; var rand = myArray[Math.floor(Math.random() * myArray.length)]; var i = 0; var speed = 55; fun

我是一个编程新手,这个话题可能很常见,但它让我很困惑

我有一个按钮:

<button onclick = typeWriter()>/click</button>`
/点击`
我的职能:

var myArray = ['such', 'something else', ]; 
var rand = myArray[Math.floor(Math.random() * myArray.length)]; 
var i = 0;
var speed = 55; 

function typeWriter() {
  if (i < rand.length) { 
    document.getElementById("question").innerHTML += rand.charAt(i);
    i++;
    setTimeout(typeWriter, speed); 
  }
}
var myArray=['such','something',];
var rand=myArray[Math.floor(Math.random()*myArray.length)];
var i=0;
无功转速=55;
功能打字机(){
如果(i
我如何添加一个像空格键这样的键盘键作为事件侦听器或类似的东西,以便当我按下空格键(而不是在文本框中)时,它按下按钮并触发函数?一个简单的香草式javascript答案会更好,因为我没有得到jQuery

简单地添加用空格键触发myFunction的脚本会比通过触发按钮更好吗?如果是,我该如何编程

顺便说一句:我正试图用iPad键盘在手机上实现这一点。这会改变什么吗


谢谢。

如果您想在html的任何地方触发函数,可以在
窗口中添加侦听器

window.onkeydown = function(event) {
    if (event.keyCode == 32) {
        //your function here
    };
};
在这里您可以找到键盘的所有按键代码:

  • 不要使用内联JS
  • 使用
    addEventListener()
  • 使用
    事件键
    确定按下的键
  • 使用helper函数确定当前
    事件.target
    是否为FormElement
//用于检测el是否为表单元素的函数
const isFormElement=el=>/^(输入|文本区域|选择|按钮)$/i.test(el.nodeName);
//示例函数
constmyfunction=ev=>console.log(“你好!”);
//在DOM中查找按钮
const EL_myfn=document.queryselectoral('.js myFunction');
//点击按钮直接触发
EL_myfn.forEach(EL=>EL.addEventListener('click',myFunction));
//在按键下
window.addEventListener('keydown',ev=>{
//如果空格键被击中,而我们不在forminput元素中
if(ev.key==“”&&!isFormElement(ev.target)){
myFunction();
}
})
textarea{width:100%;}
点击我!(控制台应记录)
按此处的空格键(控制台应记录)

按此处空格键(控制台不应记录!!)
@HelloWorld请编辑您的问题以添加所有相关代码。注释部分不适用于此。
e.keyCode
已弃用。您应该使用
e.key=='Enter'
。另外,请查看另一个工具: