Scrivendo una risposta dettagliata qui con la mia analisi.
Come ho detto prima, getData() viene recuperato anche prima che il tratto chiave venga registrato come parte del testo nell'Editor. Ecco perché vedi i dati precedenti (i dati che precedono la pressione dei tasti)
Non sono in grado di aiutarti molto con la situazione attuale in quanto è esposto un codice molto minimale. Non sono sicuro di come lo stai usando e di quali linee lo presiede.
Ma, inserirò nella mia analisi- Ho creato un waitfunc() che imposta solo il timeout per 5sec. Ho fatto questo per osservare se la chiave è stata registrata prima nell'editor o se i dati sono stati presi per primi.
function waitfunc() {
setTimeout(function() {
console.log("wait")
}, 5000)
}
CKEDITOR.instances["editor1"].on("key", function(e) {
waitfunc();
console.log("change: " + e.editor.getData());
waitfunc();
})
Vedo che i dati vengono presi per primi. E poi il nuovo tasto premuto viene aggiunto come parte dell'editor. Ho aggiunto "c" alla fine del paragrafo.
Quindi, si prega di dare un'occhiata al codice una volta (l'ordinamento di linee di codice o altro). E se possibile, condividere più codice, posso aiutare più di questo.
Spero che aiuti.
Ho controllato il codice una volta. Sono d'accordo sul fatto che il lavoro sia diverso. Mostra un'istanza precedente all'istanza corrente. Posso vedere l'implementazione di getData()? Quello che sento è che stai cercando di ottenere i dati dall'editor ancor prima che tu permetta che il cambiamento venga effettuato sull'editor. – bozzmob
Sto usando ng-ckeditor per farlo funzionare con il mio angolare. ng-ckeditor usa getData() internamente. –
Buono a sapersi che la mia analisi ha aiutato :) Si prega di contrassegnarlo come Risposta (segno di spunta) In modo che la domanda sembrerebbe risolta. – bozzmob