Tinymce4使用colorpicker从文本中删除背景颜色

时间:2014-04-30 14:39:04

标签: tinymce-4

当用户标记文本时,他可以使用colorpicker(textcolor.plugin)定义backgroundcolor。
一旦保存,他可以改变背景颜色,但不能摆脱它 background-color:white不是解决方案,因为体色可以是RGB甚至是图片 如何配置颜色选择器以删除样式标记或至少插入background-color:none

2 个答案:

答案 0 :(得分:0)

找到一个改变插件的解决方案(textcolor)。如果有更好的方法,请随意发布。

我为颜色选择器添加了其他颜色。颜色#FFFFFe(白色附近)我标记为NO COLOR并更改了插件,如图所示。

function onPanelClick(e) {
    var buttonCtrl = this.parent(), value;

    if ((value = e.target.getAttribute('data-mce-color'))) {
        buttonCtrl.hidePanel();
        value = '#' + value;
        buttonCtrl.color(value);
        if (value == '#FFFFFe') {  //Changing the value to -1 causes deletion :-)
            value = -1;
        }
        editor.execCommand(buttonCtrl.settings.selectcmd, false, value);
    }
}

答案 1 :(得分:0)

研究了一下,因为给定的答案在我的4.5.0版本的tinymce中不起作用。

textcolor插件使用' editor.formatter.remove(...)'选择' x'删除文字颜色或背景颜色在调色板的最后一个选项中没有颜色'。 虽然该函数在其他地方成功地用于tinymce(例如,当从文本中删除斜体时),但在textcolor插件的上下文中它不会删除颜色格式。


解决方案:

在textcolor" plugin.js中替换以下内容:

  

editor.formatter.remove(format,{value:null},null,true);

使用:

  

editor.dom.removeAllAttribs(editor.selection.getNode());



...或缩小版本plugin.min.js:

  

a.formatter.remove(B,{值:空}!,NULL,0),

使用:

  

a.dom.removeAllAttribs(a.selection.getNode()),



......事情开始按计划进行。