Select 段落并在 CKEditor 中应用样式
Select paragraph and apply style in CKEditor
当使用三次点击或 shift 和光标键选择整个段落超过段落末尾时,如果我将块样式应用到所选内容(例如标题或块引用),该样式也会应用到下一段。
有没有办法避免这种情况并仅将样式应用于所选内容?
例如:
这是 CKEditor 的一个错误(或特性)。问题是范围对象在选择后的元素处结束
<p>...</p> {[<p>text</p>] <p>}...</p> # [] - selection, {} - range
需要移动范围的末尾:
<p>...</p> {[<p>text</p>]} <p>...</p>
我使用定制的工具栏,所以我使用如下代码应用所有块格式:
style = new CKEDITOR.style element: 'h1'
range = editor.getSelection().getRanges()[0]
if not range.collapsed and range.endOffset is 0 and range.endContainer instanceof CKEDITOR.dom.element
range.setEndAfter range.endContainer.getPrevious()
style.applyToRange range, editor
当使用三次点击或 shift 和光标键选择整个段落超过段落末尾时,如果我将块样式应用到所选内容(例如标题或块引用),该样式也会应用到下一段。
有没有办法避免这种情况并仅将样式应用于所选内容?
例如:
这是 CKEditor 的一个错误(或特性)。问题是范围对象在选择后的元素处结束
<p>...</p> {[<p>text</p>] <p>}...</p> # [] - selection, {} - range
需要移动范围的末尾:
<p>...</p> {[<p>text</p>]} <p>...</p>
我使用定制的工具栏,所以我使用如下代码应用所有块格式:
style = new CKEDITOR.style element: 'h1'
range = editor.getSelection().getRanges()[0]
if not range.collapsed and range.endOffset is 0 and range.endContainer instanceof CKEDITOR.dom.element
range.setEndAfter range.endContainer.getPrevious()
style.applyToRange range, editor