CodeMirror:特殊行readonly

时间:2013-07-01 23:12:57

标签: javascript codemirror

我可以将特定数量的行(成功与否)设置为只读模式吗?

例如:我有一个文档,我不希望更改某些部分的内容(例如在Word中,您可以设置页眉和页脚部分,您可以锁定它们)。 有人知道CodeMirror是否支持该功能吗?

提前致谢!

2 个答案:

答案 0 :(得分:13)

还有markText readOnly选项,可能会更直接地映射到您的用例。见http://codemirror.net/doc/manual.html#markText

答案 1 :(得分:9)

使用codemirror版本3添加了对onbeforeChange的支持;只是在变化发生之前捕捉变化并取消应该可以解决问题:

// the line numbers to be "readonly"
var readOnlyLines = [0,1,2,3];

// create the CodeMirror instance
var editor = CodeMirror.fromTextArea(document.getElementById('input'));

// listen for the beforeChange event, test the changed line number, and cancel
editor.on('beforeChange',function(cm,change) {
    if ( ~readOnlyLines.indexOf(change.from.line) ) {
        change.cancel();
    }
});