0
var View = Backbone.View.extend({    
   events: {
      "keypress #editor": "updateContent",    
   },

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

id の textarea に keypress イベントを適用しましたeditor。最終的にこのコードは機能しますが、テキストエリアを CodeMirror で変換した後、キーを押してもイベントは発生しません。id のテキストエリアはeditorまだ存在しますが。これはなぜですか、どうすれば修正できますか?

4

1 に答える 1

0

CodeMirror でテキストエリアからコードをフォーマットしようとすると、テキストエリアがオーバーフローします。したがって、テキストエリアではなく、ラッパーに入力しています。イベントを取得するには、CodeMirror のラッパーを処理する必要がありますkeypress

次のようなものを試してください:

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

   updateContent: function() {
      console.log(editor.getValue());
   } 
});
于 2013-06-03T12:34:17.343 に答える