14

我可以将特定数量的行(连续或不连续)设置为只读模式吗?

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

提前致谢!

4

2 回答 2

18

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

于 2013-07-05T06:12:33.453 回答
12

添加了对 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();
    }
});
于 2013-07-02T04:38:04.173 回答