Ich verwende quill.formatText()
, um meinem Texteditor ein benutzerdefiniertes "Highlight" -Format hinzuzufügen. Ich streckte einen Klecks wie so:quill.formatText() lässt verschachtelte Formate nicht zu
let Inline = Quill.import('blots/inline');
class highlight extends Inline {
static create() {
return super.create();
}
static formats() {
return true;
}
}
highlight.blotName = 'highlight';
highlight.className = 'highlight';
highlight.tagName = 'span';
Quill.register(highlight);
ich dann quill.formatText(start, selectionLength, 'highlight', true);
nennen, die in einem <span class="highlight">
Tag meiner Auswahl wickelt. So weit, ist es gut.
Das Problem ist, ich möchte jede Auswahl in einem eigenen span
Tag gewickelt werden. Wenn ich den Text zweifach auswähle, bleibt nur der äußere span
übrig.
Zum Beispiel mit dem Text test inside text
. Wenn ich die ganze Reihe zusätzlich nur das Wort inside
hervorzuheben, würde ich bekommen erwarten:
<span class="highlight">Test <span class="highlight">inside</span> text</span>
Während ich tatsächlich bekommen:
<span class="highlight">Test inside text</span>
Es scheint, wie dies eine ist Optimierung, die QuillJS hinter den Kulissen macht - kann ich es trotzdem ausschalten, so dass ich beide verschachtelten span
s behalten kann?
Auch für die Aufzeichnung, so dass zwei disjunkte Highlights Konserven beide der 'span' s ganz gut. Nur wenn sie sich schneiden oder verschachteln, entscheidet Quill sich zu optimieren. – Pete