CodeMirror: только для чтения отдельных строк
могу ли я установить определенное количество строк (sucessive или нет) в режим только для чтения?
например: у меня есть документ, в котором я не хочу, чтобы содержимое некоторых разделов было изменено (например, в Word, где вы можете установить разделы верхнего и Нижнего колонтитулов, и вы можете их заблокировать). Кто-нибудь знает, поддерживает ли CodeMirror эту функцию?
спасибо заранее!
2 ответов
С поддержкой codemirror версии 3 для on
и beforeChange
был добавлен; просто поймать изменение, прежде чем это произойдет, и отмена должна сделать трюк:
// 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();
}
});
появилась markText
с readOnly
опция, которая может отображаться более непосредственно в вашем случае использования. См.http://codemirror.net/doc/manual.html#markText