Ich habe diesen Code, um CKEditor inline bearbeiten zu verwenden. Das Problem ist, dass der Wiki-Text dupliziert wird, nachdem die Datenbank aktualisiert wird und gespült Client:CKEditor + Meteor doppelten Text beim Speichern und Löschen
#wikiedit(contenteditable="true")
!{wikipage.text}
Nach der Bearbeitung und Schließen des Editor-Bereich, ein Server-Befehl ausgeführt wird.
var e = CKEDITOR.instances.wikiedit,
save_timeout,
save_data = function() {
clearTimeout(save_timeout);
Meteor.call('wiki.update', {_id: wiki_id, text: e.getSnapshot()})
};
e.on('blur', function() {
console.log('change event');
clearTimeout(save_timeout);
save_timeout = setTimeout(save_data, 2000);
});
Was auch immer ich es geben, wenn es aufgefrischt ist, in der Datenbank der Text <p>new text</p>
und im CKEditor Element, der alte Text nicht entfernt wird. Der neue Text wird danach angehängt.
Putting-Code in einem Helfer Art hilft, aber die innerHTML
dort ist bereits der alte + der gespülte Text. Aber es funktioniert nur, wenn der aktuelle Benutzer den Text geändert hat, sonst sind die Texte anders und ich kann nicht unterscheiden, wo die zweite Kopie beginnt.