【发布时间】:2013-12-02 19:31:27
【问题描述】:
我曾经有一个 jQuery 应用程序,一旦文档准备好,它就会有一个 keydown 事件。基本上,只要用户按下一个键,它就会匹配键码并做一些事情。现在我将这个应用程序移植到 Ember,生活变得困难有两个原因:
-
唯一可以注册
keyDown事件的时间是包含元素/视图具有焦点时。对非输入字段进行此操作的唯一方法是设置tabindex值,为此,我这样做:didInsertElement:function(){ this.$().attr("tabindex",0); this.$().focus(); //将焦点带到视图以确保触发keyDown事件:) },
keyDown:function(event){ var keycode = event.which || event.keycode; switch(keycode){ //perform various events } } -
所以上面的操作就像一个魅力,除了它在应用程序上创建一个难看的突出显示焦点,并且每当应用程序失去焦点时,
keyDown事件不会触发。我需要明确点击ApplicationView区域(不是整个主体)。
我真正想要的是触发一个简单的 keydown 事件,就像我在 jQuery 中一样。有没有人知道怎么了?
【问题讨论】:
标签: javascript ember.js dom-events global keydown