2013-11-14 12 views
5

Sto utilizzando CodeMirror per eseguire l'evidenziazione della sintassi nel mio web. Ho creato due pulsanti di opzione nel mio html. E il mio codice JavaScript è la seguente:CodeMirror elimina un'istanza di editor

if(flag == "C") 
    Editor = CodeMirror.fromTextArea(textArea, { 
    lineNumbers: true, 
    matchBrackets: true, 
    mode: "text/x-csrc" 
}); 
else if(flag == "Cpp") 
    Editor.off(0); 
    Editor = CodeMirror.fromTextArea(textArea, { 
    lineNumbers: true, 
    matchBrackets: true, 
    mode: "text/x-c++src" 
}); 

Lo fa completare la funzione di evidenziazione della sintassi, ma il problema è quando clicco il pulsante di scelta più volte, semplicemente creare fino a scatto, e questo è fastidioso . Quindi mi chiedo se c'è un modo per eliminare l'istanza dell'editor precedente prima di crearne una nuova?

risposta

1

Gli editor creati con fromTextArea hanno un metodo toTextArea per rimuoverli. In alternativa, crea semplicemente l'editor una volta e usa Editor.setOption("mode", "text/x-csrc").

+0

Sì, il metodo textArea è ciò che voglio. Ho già spinto il mio problema. grazie a tutti Marjin e Bren1818. – user2992389

+0

puoi per favore fornire il violino. – Goku

2

cm.getWrapperElement() → Elemento Restituisce il nodo DOM che rappresenta l'editor, e controlla la sua dimensione. Rimuovi questo dalla tua struttura per eliminare un'istanza dell'editor.

Vedere la documentazione. http://codemirror.net/doc/manual.html

Problemi correlati