使用Google Closure(或纯Javascript)将KeyHandler事件分派到新的DOM目标
Dispatch KeyHandler event to new DOM target with Google Closure (or plain Javascript)
我有一个web应用程序,需要捕获页面上的任何键盘事件,并将它们定位到适当的editable-div
。
- 如果
editable-div
有焦点,那么事件流到我的事件处理程序和DOM,将对应键的字符推入DIV
。 - 但是,如果
editable-div
不是当前的焦点目标,我可以用事件处理程序捕获事件,但是与按下的键对应的字符不会被推入DIV
。
我之前的实现依赖于jQuery, $.trigger()
正在做正确的事情:将键盘事件从非匹配目标移动到我选择的默认editable-div
。
我试图实现相同的没有jQuery,并与谷歌关闭。我尝试了dispatchEvent的各种咒语,但没有成功触发新的虚拟按键。
在ClojureScript中,尝试做一些幼稚的事情,如
(.dispatchEvent new-target (.getBrowserEvent event))
将导致浏览器报错The event is already being dispatched.
您可以使用goog.testing.events/fireKeySequence
创建类似于jQuery的trigger
的事件。
更多讨论。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- XBL中的Orbeon事件可以从Javascript分派吗?
- 如何创建一个事件分派器对象
- 如何将自定义事件分派给所有侦听元素
- 是否有可能在常规对象(而不是DOM对象)上分派事件
- 将自定义事件分派到JS对象
- 分派的事件是从捕获/冒泡周期的哪个阶段开始的
- 使用Google Closure(或纯Javascript)将KeyHandler事件分派到新的DOM目标