我正在使用 CodeMirror 和合并插件来将一些编辑后的代码与原始文档进行比较。在普通 View (不是合并 View )中,我可以向 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 中的更改吗?
最佳答案
MergeView
封装了两个(或三个)编辑器,您可以通过.editor()
、.leftOriginal()
来获取编辑器> 和 .rightOriginal()
方法。在这种情况下,由于原始内容没有改变,所以您想要
mergeView.editor().on("change", function(cm, change) { ... });
关于javascript - CodeMirror 在更改事件上合并构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420971/