Contenteditable div删除<font> </font>

时间:2013-07-13 10:14:17

标签: javascript html contenteditable font-size nicedit

我有一个contentEditable div,默认字体大小为14px。可以从自定义部件(13-15px)更改默认字体大小。

我添加了一个按钮来更改所选文字的字体大小。

nicEditors.findEditor('myInstance1').nicCommand('fontSize', '5');

按钮调用该功能:

nicCommand : function(cmd,args) {
  document.execCommand(cmd,false,args);
}

contentEditable div中的结果:

<font size="5">Such a</font>

它有效,但我找不到删除<font>标记的方法。所以我试图在nicCommand的参数中放入null或0或-1或2或3,但结果大小与其余参数大小不同。

无论如何要从contentEditable div移除或移动<font>标记吗?

在这种情况下移动:你可以拥有<font size="5">某物由猫控制。</font>。用户选择“Something is”从<font size="5">中删除“Something is”。在这种情况下,<font size="5">必须放在“是”之后。

2 个答案:

答案 0 :(得分:0)

如果您只想删除它,请使用

var reg = /<font\ssize="\d+">(.*?)<\/font>/g;
str = str.replace(reg, "$1");

其中str是您的编辑内容

demo

答案 1 :(得分:0)

有一个 document.execCommand 的选项,我没见过,可以使用Firefox,Chrome和IE, removeformat

nicEditors.findEditor('myInstance1').nicCommand('removeformat', null)

这称为该功能:

nicCommand : function(cmd,args) {
  document.execCommand(cmd,false,args);
}

removeformat允许删除所选文本的所有标记。这次移除<b><i>一样<u> <font> 。这对我来说没问题。 : - )