2013-05-09 54 views
0

我有下面的代碼。我想要<Enter>input#editTodo,我想保存模型(Todo)。我想我需要聽按鍵事件,然後檢查鍵碼是13,如果是這樣我保存模型...從Backbone Marionette ItemView觸發器訪問事件對象

TodoView = Backbone.Marionette.ItemView.extend({ 
    triggers: { 
     "keypress #editTodo": "detectEnterAndSave" 
    }, 
    initialize: function() { 
     this.on("detectEnterAndSave", function(e) { 
      console.log(e); 
     }); 

但我不能似乎得到事件對象?如果是這樣,我怎麼知道什麼鍵被按下?

回答

2
events: { 
    'keypress #editTodo' : 'detectEnterAndSave' 
}, 

detectEnterAndSave : function(e) { 
    if (e.which === 13) { 
    // do something 
    } 
} 
+0

我試過了,但是我得到的是一個對象'{collection:...,model:...,view:...}'。我認爲這是我在[Marionette docs]中看到的(https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#trigger-handler-arguments)。 – 2013-05-09 09:09:12

+0

好的,我明白了。爲此,我需要使用事件而不是觸發器 – 2013-05-09 09:17:13