【问题标题】:Programmatically change bold, underline, italic of text selection using CKEditor API使用 CKEditor API 以编程方式更改文本选择的粗体、下划线、斜体
【发布时间】:2015-01-19 16:39:51
【问题描述】:

我正在使用自己的 UI 来驱动 CKEditor 的 API。以下 API 可分别使用粗体和斜体切换所选文本,但不适用于下划线。

editorInstance.execCommand( 'bold' );
editorInstance.execCommand( 'italic' );
editorInstance.execCommand( 'underline' ); // does not work

我已经检查了源代码并验证了下划线命令确实存在。

如何使用 CKEditor 以编程方式为所选文本添加下划线?

【问题讨论】:

    标签: ckeditor rich-text-editor richtext underline


    【解决方案1】:

    您在这里处理的是Advanced Content Filter。正是由于它对命令状态的影响。在我假设您使用的标准预设中,下划线按钮是removed from toolbar,因此相关命令被禁用。当命令被禁用时,它不能被执行。

    您可以通过以下方式验证这一点:

    editor.getCommand( 'underline' ).state == CKEDITOR.TRISTATE_DISABLED;
    

    我预计您会尝试删除整个工具栏插件。为了节省您一些时间 - 它是工具栏插件,它注册了大多数功能(通过注册启用的按钮)。因此,如果您删除工具栏,则以这种方式注册的所有功能(命令是功能的一部分)都将被禁用。您应该会发现本指南很有帮助 - Plugins integration with the ACF

    【讨论】:

    • 如果我要删除整个工具栏插件,是否意味着我必须重新实现每个功能?我正在尝试了解 CKEditor 的方法,但我假设工具栏插件只是注册它想要公开的功能,并没有实际实现每个功能的行为。这将允许某人进入,构建他们自己的 UI,注册想要的功能,并执行命令。
    • 我发布了一个更详细的新问题。 stackoverflow.com/questions/28030449/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多