1

我正在使用 CodeMirror 和合并插件将一些已编辑的代码与原始文档进行比较。在普通视图(不是合并视图)中,我可以向 CodeMirror 构造函数添加一个侦听器以侦听更改并向用户提供视觉反馈以显示更改尚未保存。

像这样:

//codemirror constructor
var cmConstructor = CodeMirror(target, setOptions());
cmConstructor.on('change', function() {codeChange(variables)});

现在,当我像这样在合并构造函数上调用它时:

//codemirror merge constructor
var cmConstructor = CodeMirror.MergeView(target, setOptions());
cmConstructor.on('change', function() {codeChange(variables)});

我收到以下错误:未捕获的类型错误:Object #<Object> has no method 'on'

知道如何在 mergeView 中侦听更改吗?

4

1 回答 1

1

封装了MergeView两个(或三个)编辑器,您可以使用.editor(),.leftOriginal().rightOriginal()方法获取编辑器。在这种情况下,由于原件没有改变,你想要

mergeView.editor().on("change", function(cm, change) { ... });
于 2013-10-17T11:03:46.230 回答