2

我确定我遗漏了一些明显的东西,但是:如何响应页面上任何位置的按键事件?

例如,假设我有一个视频播放器,如果用户在任何时候按下空格键,我想暂停它。或者,我正在编写一个游戏并希望箭头键来引导一个角色,而不考虑特定的视图或子视图。

定义App.ApplicationView = Ember.View.create({ keyPress: whatever })似乎不起作用。我原以为所有的按键事件都会冒泡。

我想我想做的是:

$(document).keypress(function(e) {
    alert('You pressed a key!');
});

除了通过 Ember。

4

1 回答 1

3

如果您正在寻找全局按键,您上面的代码示例可能是最好的解决方案。ember 应用程序附加到主体(或您定义的根元素),并且需要对视图进行某种关注。例如你可以这样做:

App.ApplicationView = Em.View.extend({
  keyUp: function(){
    alert(1);
  }
});

这将起作用,但应用程序视图或子级需要有焦点。这很有用,例如,如果您想捕获所有输入字段的键事件。

于 2013-05-13T01:47:11.157 回答