EmberJS中的全局keyDown/keyPress事件,无需设置焦点

46scxncf  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(118)

我曾经有一个jQuery应用程序,一旦文档准备好,它就会有一个keydown事件。基本上,每当用户点击一个键,它就会匹配键码并做一些事情。现在我把这个应用程序移植到Ember,生活变得困难了,原因有两个:

  1. keyDown事件只能在包含元素/View具有焦点时注册。对于非输入字段,注册keyDown事件的唯一方法是设置tabindex值,为此,我执行以下操作:
    如果您有任何问题,请使用以下方法解决:这个.$().焦点();//将焦点移至检视,以确保触发keyDown事件:)},
keyDown:function(event){
         var keycode = event.which || event.keycode;
         switch(keycode){
                //perform various events
         }
 }

1.因此,上面的操作就像一个魔咒,除了,它在应用程序上创建了一个丑陋的突出显示的焦点,每当应用程序失去焦点时,keyDown事件不会触发。我需要显式地单击ApplicationView区域(不是整个主体)。
我真正想要的是有一个简单的keydown事件触发,就像我在jQuery中使用这个事件时一样。

wfauudbj

wfauudbj1#

Ember只捕捉在ember应用范围内发生的事件,所以如果你想捕捉应用外部的事件(因为你的整个页面不是一个ember应用),并且不必关注ember,你就必须在ember应用范围之外创建这些事件。

相关问题