Colorare un file caricato in modo dinamico
-
27-09-2019 - |
Domanda
Sto utilizzando jQuery per caricare un file in una textarea e CodeMirror per colorare, ma sembra che non giochino d'accordo: posso ottenere il file da caricare o textarea (con testo esistente) per ottenere colorized, utilizzando uno o l'altro, ma quando ho caricarlo e poi colorare esso, io alla fine con una textarea vuoto. Ecco il codice corrispondente di mia pagina :
$("#corpo").load("jquery-latest.min.js"); /* random js file */
var editor = CodeMirror.fromTextArea("corpo", {
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
path: "/codemirror/js/",
stylesheet: "/codemirror/css/jscolors.css"
});
Grazie!
Soluzione
Probabilmente si deve mettere la colorazione in un callback:
$("#corpo").load("jquery-latest.min.js", function() {
var editor = CodeMirror.fromTextArea("corpo", {
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
path: "/codemirror/js/",
stylesheet: "/codemirror/css/jscolors.css"
});
});
... altrimenti CodeMirror inizia a lavorare prima che il contenuto viene recuperata (una richiesta AJAX in esegue jQuery in modo asincrono).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow