我使用quill.formatText()
爲我的文本編輯器添加自定義的「高亮」格式。我伸出一個印跡,像這樣:quill.formatText()不允許嵌套格式
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);
我然後調用quill.formatText(start, selectionLength, 'highlight', true);
,它包裝我在<span class="highlight">
標籤選擇。到現在爲止還挺好。
麻煩的是,我希望每個選擇都被包裝在自己的span
標記中。當我對文本做兩個選擇時,一個在另一個裏面,只剩下外面的span
。
例如,文本test inside text
。如果我想強調除了剛纔的話inside
整個字符串,我期望得到:
<span class="highlight">Test <span class="highlight">inside</span> text</span>
而我居然得到:
<span class="highlight">Test inside text</span>
看起來這是一個QuillJS在幕後進行的優化 - 無論如何,我可以關閉它,這樣我就可以保持嵌套span
?
此外,備案,使得兩個不相交的亮點蜜餞這兩個'跨度'就好了。只有當它們相交或嵌套時,Quill纔會決定優化。 – Pete