首页 > 解决方案 > 通过键盘事件编写控件

问题描述

我想使用键盘事件在 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);

当然,首先我在控件的文本内部单击以将焦点放在那里。事件似乎已达到控制,但未写入字符(空格)。我什至尝试连续使用keydownkeyup事件都无济于事。

问题是我不想添加事件侦听器。真正的目标是文本编辑器(摩纳哥编辑器),我不会修改它。我需要在编辑器中编写,我还希望事件通过其 onKeyDown 事件处理程序。这就是为什么我想尽可能逼真地模拟键盘。

我目前使用的是 Chrome,但如果有一些也适用于其他浏览器(Firefox、IE 等)的东西,我会很高兴。

标签: javascripthtmlkeyboard-events

解决方案


推荐阅读