2013-07-13 97 views
1

我有一個默認字體大小爲14px的contentEditable div。默認字體大小可以從定製部分(13-15px)更改。Contenteditable div刪除<font>

我添加了一個按鈕來改變選定文本的字體大小。

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">必須放置在「是」之後。

+0

顯然你使用NicEdit,所以我已經添加了該標籤。 –

+1

你想得到什麼? 'style =「一些像素」? – vladkras

+0

@vladkras:我希望能夠刪除''這樣的''已經被一個按鈕添加了。 – defacto

回答

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>。這對我來說很好。 :-)

0

如果你只想刪除它,使用

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

其中str是你的編輯器的內容

demo

+0

問題是:您可以擁有這個''有東西由貓控制.''。用戶選擇「Something is」以從'移除「Something is」。在這種情況下,''必須放在「is」之後。 – defacto

+0

@defacto您的問題是「我無法找到一種方法來刪除標記」。你能澄清你真的需要做什麼嗎? – vladkras