当使用三次单击或移位和光标键选择整个段落超过段落末尾时,如果我将块样式应用于选择(例如标题或块引用),则样式也将应用于下一段
有没有办法避免这种情况并仅将样式应用于选择?
例如:
答案 0 :(得分:1)
这是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