2016-03-16 8 views
5

Sto usando CodeMirror come questo per mostrare una risposta XML all'utente.markMirror markText non funziona

CODICE HTML

<body> 
    <textarea id="cm" >#{bean.xmlResponse}</textarea> 
</body> 

JS CODICE

window.onload = function() {    
    var editor = CodeMirror.fromTextArea(document.getElementById('cm'), { 
        mode: "xml", 
        theme: "default" 
       }); 

    editor.getDoc().markText({line:5,ch:2},{line:5,ch:9},"color : red"); 
}; 

Ora, quando sto cercando di evidenziare qualche linea particolare utilizzando markText che non sta funzionando. Ovviamente la modalità "xml" funziona ma la riga 5 non è evidenziata con il colore rosso.

Apprezzo molto il vostro aiuto. Sono stati 3 giorni che sto provando a farlo. Grazie.

risposta

6

è necessario specificare il parametro opzioni come una mappa, non è una stringa: {css: "color : red"}

vedere la documentazione per maggiori dettagli: https://codemirror.net/doc/manual.html#markText

Ecco un frammento, sulla base di esempio che sta mostrando che funziona come si descrivere (si può ignorare il superfluo CSS/JS setup e XML di esempio che erano bisogno di avere il frammento di esecuzione):

var editor = CodeMirror.fromTextArea(document.getElementById('cm'), { 
 
    mode: "xml", 
 
    theme: "default" 
 
}); 
 

 
editor.getDoc().markText({ 
 
    line: 5, 
 
    ch: 10 
 
}, { 
 
    line: 5, 
 
    ch: 39 
 
}, { 
 
    css: "color : red" 
 
});
@import "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/codemirror.css"
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/codemirror.js"></script> 
 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/mode/xml/xml.js"></script> 
 
<textarea id="cm"> 
 
    <note> 
 
    <to>Tove</to> 
 
    <from>Jani</from> 
 
    <heading>Reminder</heading> 
 

 
    <body>Don't forget me this weekend!</body> 
 
    </note> 
 
</textarea>

+0

Fantastico !! Sta funzionando. Grazie amico. – Gans

+0

hai provocatorio il mio fine settimana (-: grazie! – jonathana