2013-07-01 11 views
9

Posso impostare un numero particolare di righe (sucessivo o meno) in modalità di sola lettura?CodeMirror: righe particolari in sola lettura

Ad esempio: ho un documento in cui non desidero modificare il contenuto di alcune sezioni (come in Word, dove è possibile impostare le sezioni di intestazione e piè di pagina e bloccarle). Qualcuno sa se CodeMirror supporta quella funzione?

Grazie in anticipo!

risposta

7

Con codemirror è stato aggiunto il supporto per la versione 3 on e beforeChange; semplicemente catturare il cambiamento prima che accada e l'annullamento dovrebbe fare il trucco:

// 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(); 
    } 
}); 
+0

Piuttosto semplice! Ho appena aggiunto alcune modifiche minori per poter ancora eliminare il contenuto tra due righe non consecutive anche se l'utente seleziona le righe di sola lettura. Molte grazie! –