2013-06-03 48 views
0
var View = Backbone.View.extend({  
    events: { 
     "keypress #editor": "updateContent",  
    }, 

    updateContent: function(ev) { 
     # Update model  
    } 
}); 

我申請了一個關鍵事件在一個textarea與編號editor。最終這個代碼可以工作,但在使用CodeMirror轉換textarea之後,按鍵不會觸發事件。 儘管編號爲editor的textarea仍然存在。爲什麼會這樣,我該如何解決它?BackBone事件不會被觸發在一個CodeMirror textarea

回答

0

當您嘗試通過CodeMirror從textarea格式化代碼時,它會使textarea過度流動。所以,你輸入它的包裝,而不是在你的textarea。您應該處理CodeMirror的包裝以獲取keypress事件。

嘗試類似:

var editor = CodeMirror.fromTextArea(document.getElementById("editor")); 
var View = Backbone.View.extend({  
    events: { 
     "keypress .CodeMirror": "updateContent" 
    }, 

    updateContent: function() { 
     console.log(editor.getValue()); 
    } 
});