我有一个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.
是否有解决此问题的简单方法?
您可以使用goog.testing.events/fireKeySequence
创建类似于jQuery的trigger
的事件。