我想使用键盘事件在HTML输入元素中使用javascript编写。 在HTML中,我有:
<body>
<form>
<input type="text" name="myname" value='XX--'>
</form>
</body>
我正处于测试阶段,因此我在控制台中写道:
let evt = new KeyboardEvent('keydown',
{code: 'Space', key: ' ', keyCode: 32, which: 32, bubbles: true, view: window});
然后:
document.activeElement.dispatchEvent(evt);
当然,首先,我在控件的文本内单击以将焦点放在此处。
该事件似乎已达到控制状态,但未写入字符(空格)。我什至尝试连续使用keydown
和keyup
事件,但无济于事。
问题是我不想添加事件侦听器。真正的目标是文本编辑器(摩纳哥编辑器),我不会对其进行修改。我需要在编辑器中编写代码,我也希望事件通过其onKeyDown事件处理程序进行处理。这就是为什么我想模拟一个尽可能逼真的键盘。
我目前使用的是Chrome,但是很高兴能与其他浏览器(Firefox,IE等)兼容。