【问题标题】:Select paragraph and apply style in CKEditor在 CKEditor 中选择段落并应用样式
【发布时间】:2015-03-31 20:41:23
【问题描述】:

当在段落末尾使用三次单击或 shift 和光标键选择整个段落时,如果我将块样式应用于所选内容(例如标题或块引用),则该样式也会应用于下一个段落.

有没有办法避免这种情况并将样式仅应用于选择?

例如:

【问题讨论】:

    标签: ckeditor


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      相关资源
      最近更新 更多