Ich habe einige otherquestions in Bezug auf wie Inline-Inhalt zu speichern. Daraus habe ich gelesen, dass alle der folgenden sollte Fokus/Unschärfe Änderungen erkennen arbeiten:ckeditor globale Ereignisse nicht feuern auf Inline-Editoren
CKEDITOR.on("blur", function(e) {
console.log("The editor named " + e.editor.name + " BLUR")
})
CKEDITOR.on("focus", function(e) {
console.log("The editor named " + e.editor.name + " FOCUS")
})
CKEDITOR.on("instanceReady", function(evt) {
var editor = evt.editor
console.log("The editor named " + editor.name + " is now ready")
editor.on("focus", function(e) {
console.log("The editor named " + e.editor.name + " is now focused")
})
editor.on("blur", function(e) {
console.log("The editor named " + e.editor.name + " is now focused")
})
})
ich diese Funktionen nenne, bevor die DIV-Elemente auf der Seite hinzufügen. (Obwohl für ein gutes Maß, versuchte ich auch diese nach Ich habe die DIV-Elemente auf der Seite, ohne Änderung des Verhaltens.) Ich habe die DIV-Elemente alle auf contenteditable=true
gesetzt. Wenn ich auf einen von ihnen klicke, bekomme ich einen blinkenden Cursor an dem Punkt, auf den ich geklickt habe, und ich kann den Inhalt des DIVs bearbeiten. Wenn ich irgendwo anders klicke, verschwindet der Cursor und zeigt an, dass der Fokus verloren gegangen ist.
Allerdings wird keine meiner oben genannten Funktionen aufgerufen. Wie soll ich erkennen, wenn einer der Inline-Redakteure den Fokus verliert und verliert?
Ich habe am API sah und ich eigentlich nicht sehen on
ein Verfahren des globalen CKEDITOR
Singleton ist, so bin ich nicht sicher, wie dies auch funktionieren soll. Die Methode ist aber definitiv da.
Update: Ich habe versucht, einen anderen ckeditor (https://cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.7/ckeditor.js statt die Version, die ich für meine Website gebaut und heruntergeladen) mit und dass Versionaber nur für das instanceReady Ereignis funktioniert. Ich verwende die gleiche Version Nummer wie auf meiner Website, aber ich bin sicher, ich habe nicht mit allen die gleichen Plug-Ins gebaut, daher ich Verdacht gibt es ein Problem mit einem Plug-in.
Ich habe auch bemerkt, dass, obwohl ich contenteditable=true
auf meinem div habe, wenn ich es auswähle und es aktiv wird, ändert das Element tatsächlich nichts, das heißt, CKEDITOR scheint es nicht durch irgendetwas zu ersetzen die Bearbeitung. Dies würde erklären, warum die Unschärfe- und Fokusereignisse nicht ausgelöst werden, aber warum übernimmt CKEDITOR nicht die Kontrolle?