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!

È stato utile?

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
scroll top