Javascript Vanilla JS中的Dispatch/generate keydown事件(无jQuery,使用Vanilla JS)

Javascript Vanilla JS中的Dispatch/generate keydown事件(无jQuery,使用Vanilla JS),javascript,Javascript,如何使用普通javascript模拟按键输入 我已经在SO和其他地方测试了所有可能的答案,但在Chrome或Firefox上都不起作用 例如,假设我们有一个表单: <input id="myInput" type="text"> <button id="myButton>Click Me</button> 您首先要向文档对象添加一个keyup事件侦听器,然后在回调中根据按下的键分配输入值: var input=document.getElementByI

如何使用普通javascript模拟按键输入

我已经在SO和其他地方测试了所有可能的答案,但在Chrome或Firefox上都不起作用

例如,假设我们有一个表单:

<input id="myInput" type="text">
<button id="myButton>Click Me</button>


您首先要向
文档
对象添加一个keyup事件侦听器,然后在回调中根据按下的键分配输入值:

var input=document.getElementById(“myInput”);
文件。添加的文件列表器(“键控”,功能(e){
如果(e.which==39 | | e.which==19){
input.value+='a';
}
});


单击我
我认为这种方式有效:


A.
B
函数myFunctionA(){
document.getElementById(“myText”).placeholder=document.getElementById(“myText”).placeholder+A;
}
函数myFunctionB(){
document.getElementById(“myText”).placeholder=document.getElementById(“myText”).placeholder+B;
}
//等等

您到底尝试了什么?请显示您的代码。您还需要按键事件吗?否则,卡尔的解决方案就足够了。如果您确实需要事件对象(这样您就可以检查
event.keyCode
之类的内容),那么您必须自己创建事件并分派它。已经是的同义词了。不需要再创建一个。@str我已经尝试过的:由于OP要求提供一个示例,其中添加了一个“a”,您应该将“input.value='a';”替换为“input.value+='a';”。否则,您只需设置值。仍然被选为最佳答案谢谢你的回答。是的,这种方法可以工作,但是我试图模拟一个实际的按键。具体来说,我想按“向右箭头”键。这种方法在那种情况下不起作用。是否有任何方法可以实际发送带有所需kecode的按键?例如,对于ArrowRight,它应该是19(www.keycode.info)yea…给我一点时间。嘿@CarlEdwards你找到解决这个问题的方法了吗?:)你能再给我解释一下你想要什么吗?根据我收集的信息,你想通过点击按钮触发keyup事件,对吗?你是否也希望有一个关键事件以及。还是功能只针对按钮?