javascript - 通过键盘事件编写控件
问题描述
我想使用键盘事件在 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 等)的东西,我会很高兴。
解决方案
推荐阅读
- node.js - 如何设置从不同的数据库集合中检索的几个 res.locals?(Express, Mongo, EJS)
- angular - 如何使用 googlePhotosApi 将我的 Angular 应用程序连接到谷歌相册?
- unity3d - 使敌人能够攻击 2 个不同的物体
- javascript - 覆盖 jQuery 函数会丢失“this”范围
- java - 重定向外部 URL 以下载 Zip 文件
- c# - 如何消除静态背景噪音?
- javascript - 检查元素是否在加载和更改时包含特定文本
- javascript - OpenLayer Icon 用户自由变换
- ignite-ui - 扩展igTree中的特定节点时如何扩展节点的所有子节点?
- video - Android Studio:逐帧从 res/raw/ 目录中读取 .mp4