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

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

我已经在 id 的 textarea 上应用了一个已应用的按键事件editor。最终这段代码可以工作,但是在使用 CodeMirror 转换 textarea 之后,按键不会触发事件。尽管带有 id 的 textareaeditor仍然存在。为什么会这样,我该如何解决?

4

1 回答 1

0

当您尝试通过 CodeMirror 从 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());
   } 
});
于 2013-06-03T12:34:17.343 回答