ckeditor Ereignishandler hinzufügen, um dialog-element
Schreibe ich einen benutzerdefinierten dialog/plugin für ckeditor
. Was ich wissen möchte ist, wie ich hinzufügen kann, eines eventlistener
zu einem select-Feld in dem Dialogfeld, um zu warnen, wenn der gewählte Wert geändert wurde. Wie kann ich dies tun?
Ist, habe ich mich an der API und ich bin gekommen, über einige nützliche Informationen, aber es ist nicht detailliert genug. Ich kann nicht machen, eine Verbindung zwischen der API-Informationen, und was ich bin versucht zu implementieren.
InformationsquelleAutor oggiemc | 2011-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wählen Sie die Elemente in den Dialogen automatisch ausgelöst, ein change-Ereignis, wenn Sie geändert werden. Sie können hinzufügen einer onChange-Funktion in der definition für das select-element. Hier ein Beispiel aus der api:
Diese Seiten sind Beispiele für das erstellen von Definitionen verwendet, die durch Dialoge und ui-Elemente:
- Klasse CKEDITOR.dialog
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.html
- Klasse CKEDITOR.dialog.definition
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.html
- Klasse CKEDITOR.dialog.definition.wählen Sie
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.select.html
Wenn Sie möchten, zu hören, für einen Wechsel zu einem select-element von einem anderen Standort aus, erstellen Sie den listener, dass der Schlüssel auf den "dialogShow" Ereignis. Hier ist ein Beispiel:
Können Sie überprüfen, ob das Dialogfeld, das Sie wollen, mit zu arbeiten ist das eine, feuerte die "dialogShow" Ereignis. Wenn ja, können Sie ein Objekt erstellen, für das select-element, das Sie interessiert und hören Sie für ein "change" - Ereignis aus.
Hinweis: die TAB-ID und ELEMENT-ID Platzhalter, die ich verwendet, beziehen sich also nicht auf das Id-Attribut des Elements. Die Id bezieht sich auf die Id zugewiesen, in der die dialog-definitions-Datei. Das Id-Attribut für die verschiedenen Elemente sind unterschiedlich jedes mal, wenn der dialog geladen wird.
Dieser Seite einige Infos über Veranstaltungen:
- Klasse CKEDITOR.Veranstaltung
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.event.html
Gut,
Joe
Antworten auf weitere Fragen in den Kommentaren:
Q1) Ihre Veranstaltung hier ist 'dialogShow', welche anderen Ereignisse sind erlaubt? ich.e sind Sie vordefinierte oder Benutzer-definiert?
A1) 'dialogShow' Ereignis vorgegeben ist. Anschauen kann man sich die Datei mit den Dialogen-code in Ihre CKEditor installieren, Verzeichnis oder auf der website:
ckeditor\_source\plugins\dialog\plugin.js
http://docs.cksource.com/ckeditor_api/symbols/src/plugins_dialog_plugin.js.html
Wenn Sie suchen Sie die Datei "Feuer", Sie werden sehen, alle Ereignisse, die ausgelöst werden, für Dialoge. Am Ende der Datei hat Definitionen für die verschiedenen Veranstaltungen.
Können Sie auch eigene Veranstaltungen zu wichtigen, indem Sie die "fire" - Methode in Ihrer dialog-code:
Dann sehen:
Q2) Können Sie erklären, die syntax
dialogShowEventData._.name
? Ich habe es gesehen, bevor, aber ich weiß nicht die Bedeutung, etwas zu tun private Variablen?A2) Für jedermann wunderte sich über die "._." syntax verwendet, in der CKEditor-code, der es verwendet, um die Größe des Codes und ersetzt ".privat". Siehe diesen Beitrag von @AlfonsoML in der CKEditor-forum:
http://cksource.com/forums/viewtopic.php?t=22982
Q3) Wo bekomme ich mehr info in der TAB-ID.ELEMENT-ID?
A3) Die Tab-ID ist die id, die Sie zuweisen, um eine bestimmte Registerkarte (Fenster) von einem dialog. ( siehe unten: id : 'tab1', )
Die Element-ID ist die id, die Sie zuweisen, um ein bestimmtes element enthalten, in einer Registerkarte im Dialogfeld. ( siehe unten: id : 'textareaId', )
Auf dieser Seite sehen: http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.html#.add
Es zeigt, wie definieren Sie die Registerkarten und die enthaltenen Elemente in einem dialog-Fenster ( ich fügte hinzu, ein Beispiel für ein select-element, das ausgelöst wird, eine Benutzer-definierte Ereignis ):
Q4) Können Sie kurz erklären, was der obige code macht?
A4) Sehen Sie den ursprünglichen code habe ich Kommentare Hinzugefügt.
danke joe..sorry für die Verzögerung bei der Beantwortung..das klärt alles auf..
Wow!!! Dank Joe gelernt, mehr von dir als alle die ckdocs, vielleicht mit Ihren Kenntnissen, die Sie könnte helfen, verbessert die docs auf ckeditor?
Froh, dass es hilfreich war. Es ist einfacher, die Antwort auf eine bestimmte Frage als zu schreiben die docs für ein großes Projekt wie CKEditor. Wie es scheint, die info ist in Ihren docs, aber es kann einige Zeit dauern, bis gehen durch und schließen Sie die Dinge, die benötigt werden für eine bestimmte situation.
InformationsquelleAutor codewaggle