Wie

2017-11-23 1 views
0

Mit CKEditor Formatierung auf Inhalt einer Spanne anzuwenden, wenn ich einen A-Tag erstellen und später einige benutzerdefinierte Formatierung gelten (wie Farbtext zum Beispiel), sieht die resultierende Quelle wie folgt aus:Wie

<p><a href="http://somelink.com"><span style="color:#1abc9c;">some text</span></a></p> 

Wie Sie können sehen, die Formatierung ist um den Text, aber innerhalb des A-Tags.

Ich habe ein persönliches Plugin, das ein SPAN-Tag mit einer bestimmten Klasse ausgibt. Im WYSIWYG-Editor, wenn ich den Text und wenden Sie die gleiche Formatierung wählen, ich diese:

<p><span style="color:#1abc9c;"><span class="command3d">Some text</span></span></p> 

Dieses Mal ist die Formatierung nicht einfach um den Text. Es wird um das SPAN-Tag herum angewendet.

Wie kann ich dieses Verhalten steuern? Ich möchte dieses Ergebnis erhalten, statt:

<p><span class="command3d"><span style="color:#1abc9c;">Some text</span></span></p> 

Dank

Antwort

1

Leider gibt es keine Möglichkeit, die Reihenfolge des Inline-Styles zu steuern (basierend auf span Tags) innerhalb der Redaktion Instanz. Die einzige sinnvolle Methode, um das gewünschte Ergebnis zu erzielen, besteht darin, zunächst die Textfarbe anzuwenden und dann Ihren benutzerdefinierten Stil anzuwenden.

Es gibt jedoch zwei Methoden, um die Ausgabe des Editors in das richtige Format zu konvertieren. Die erste besteht darin, dem Datenprozessor des Editors über toDataFormat event einen benutzerdefinierten Handler hinzuzufügen, um Vorfahren von span.command3d zu überprüfen und sie gegebenenfalls an einigen Stellen auszutauschen. Es ist jedoch ein wenig mühsam, da Sie alle Inhalte durchqueren müssen, daher ist es einfacher: add element callback to editor's filter. Example.

+0

Vielen Dank. Ihr Beispiel scheint sehr interessant zu sein. Ich werde es überprüfen, sobald zurück zu diesem Projekt. –