jQuery:如何为contenteditable div创建颜色选择器?

时间:2018-07-24 11:33:15

标签: javascript jquery contenteditable color-picker

我的问题是我该怎么做,因为我正在尝试做“简单的WYSIWYG编辑器”,并且我成功地完成了字体大小,粗细等的更改。但是我仍然遇到选色问题。我有一张桌子,上面有不同bgcolors的单元格。我想为表中的每个td调用document.execCommand。我的问题是 contenteditable div中的文本颜色没有改变。即使当我尝试添加颜色的日志记录值时,我也可以读取该值,但是当我尝试更改颜色时,仍然没有任何反应。难道我做错了什么?我的桌子和代码:

<table>
    <tr>
    <td style="background-color: #ffffff"></td>
    <td style="background-color: #ffccc9"></td>
    </tr>
</table>

$("#font-menu-color td").on("click",(function(){document.execCommand('foreColor', false, $(this).css("background-color"));}));

1 个答案:

答案 0 :(得分:0)

这里的问题似乎是jquery以RGB返回颜色,但是foreColor命令需要以十六进制显示颜色。 引用mdn

  

foreColor

     

更改所选内容或插入点的字体颜色。这个   需要十六进制颜色值字符串作为值参数。

单击是鼠标按下+鼠标按下。按下鼠标时,可编辑区域将失去焦点。如果我们在鼠标按下时添加preventDefault,则可编辑区域将保持焦点。

此处为示例-此处为示例-jsfiddle.net/xpvt214o/474448