代码镜像 更改事件上的合并构造函数

CodeMirror Merge constructor on change event

本文关键字:合并 构造函数 事件 镜像 代码      更新时间:2023-09-26

我正在使用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封装了两个(或三个)编辑器,您可以使用.editor().leftOriginal().rightOriginal()方法获取编辑器。在这种情况下,由于原件不会更改,因此您需要

mergeView.editor().on("change", function(cm, change) { ... });