使用Google Closure(或纯Javascript)将KeyHandler事件分发到新的DOM目标

问题描述 投票:0回答:1

我有一个Web应用程序,需要捕获页面上的任何键盘事件,并将它们定位到适当的editable-div

  • 如果editable-div具有焦点,那么事件将流到我的事件处理程序和DOM中,以将与键对应的字符推入DIV
  • 但是,如果editable-div不是当前的焦点目标,我可以使用事件处理程序捕获事件,但是与按下的键对应的字符不会被推入DIV

我以前的实现依赖于jQuery,$.trigger()做的正确:将键盘事件从不匹配的目标移到我选择的默认editable-div

我正在尝试在没有jQuery和Google Closure的情况下实现相同的目标。我尝试了dispatchEvent的各种咒语,但未成功触发新的虚拟按键。

[在ClojureScript中,尝试做一些天真的事情,例如

(.dispatchEvent new-target (.getBrowserEvent event))

将使浏览器抱怨The event is already being dispatched.

是否有解决此问题的简单方法?

javascript dom-events clojurescript keyboard-events google-closure-library
1个回答
0
投票

您可以使用goog.testing.events/fireKeySequence创建类似于jQuery的trigger的事件。

[More discussions

© www.soinside.com 2019 - 2024. All rights reserved.