如何在Backbone事件方法中监听按键按下的事件(keydown)

3
这个$(document).on('keydown', this.logKey);在Backbone的events:{}中有什么等效的写法吗?我想要把所有事件绑定到一个地方,而不是放在initialize方法里。
我尝试了这里的建议:how to capture the key event from a view ?events{'keydown' : 'logKey'}。但是对我不起作用。请帮忙看一下。
1个回答

5

View.delegateEvents()中定义的CSS选择器绑定到View.$el的上下文,所以如果您希望View管理document上的事件,则View.$el应该是document本身:

// code no tested
var DocumentView = Backbone.View.extend({
  el: "document",
  events: {
    "keydown": "theHandler"
  }
})

谢谢!这非常有趣,因为我试过'keydown document':'logkey'但它没有起作用。我猜必须在 el: 'document' 上设置才行。 - user1187135
如果事件的目标DOM元素是自己的根el,则无需指定DOM元素。 - fguillen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接