javascript - 从 CKEditor 4.1 开始,如果没有工具栏插件,execCommand 将无法工作

标签 javascript ckeditor

最初我在没有工具栏的情况下进行了内联测试: 4.0 [W],4.1 [新],4.2 [新],4.3 [N](W = 有效;N = 无效)。

With toolbar @ 4.3, inline :有效。

Without toolbar, standard : 不工作。

基本上,自 4.1 版本以来发生了一些影响外部按钮的更改。这会导致这样的事情......

<a href="#bold" data-command="bold">Bold</a>

$('[data-command]').on({
    click : function(e)
    {
        var command = $(this).data('command');

        command = editor.execCommand(command);

        e.preventDefault();
    }
});

..不工作。

我已经成功调试,按钮状态似乎始终处于“非事件”状态。我确实尝试了 getCommand().enable().exec() 组合,但是没有任何变化。

我目前已经通过使用 sharedspace 插件并将工具栏 移动到隐藏元素中解决了该问题。

4.3 这样做的方法是什么?

最佳答案

您应该阅读Advanced Content Filter guide从 CKEditor 4.1 开始,内容、命令和 UI 就被捆绑在一起了。

CKEDITOR.replace( editable , {
    removePlugins: 'toolbar',
    // This is what got to be added
    extraAllowedContent: 'strong em u'
});

Fiddle

关于javascript - 从 CKEditor 4.1 开始,如果没有工具栏插件,execCommand 将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21131630/

相关文章:

javascript - 逐个节点设置 SVG 基本形状

javascript - 如何在 Ember JS 中从父 Controller 获取子 Controller 的引用?

javascript - Visual Studio Code 无法识别 EJS

Javascript 改变表单元素

html - Ckeditor 4 - 如何更改包括下划线在内的链接颜色?

ckeditor - 从“链接”菜单中删除“上传”选项卡

javascript - 半透明层,但点击进入下层

javascript - CKEditor 和 jQuery serialize() 问题

jquery - 键盘快捷键 JQUERY - Command+S、Control+S

javascript - 引用错误 : CKEDITOR is not defined