2013-07-13 2 views
1

У меня есть contentEditable div с 14px в качестве размера шрифта по умолчанию. Размер шрифта по умолчанию можно изменить из части настройки (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> тег. Поэтому я попытался поместить нуль или 0 или -1 или 2 или 3 в аргумент nicCommand, но размер результата не совпадает с остальным.

Есть ли способ удалить или переместить тег <font> из contentEditable div?

Для перемещения в этом случае: у вас может быть это <font size="5"> Что-то контролируется кошкой. </font>. Пользователь выбирает «Что-то есть» для удаления «Что-то есть» от <font size="5">. В этом случае <font size="5"> должен быть размещен после «is».

+0

Видимо, вы используете NicEdit, поэтому я добавил этот тег. –

+1

что вы хотите получить вместо этого? 'style =" some px "'? – 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

Проблема в следующем: вы можете иметь этот '' font size = 5 ">' Что-то контролируется cat.' '. Пользователь выбирает «Что-то есть» для удаления «Что-то есть» из ''. В этом случае '' должен быть помещен после "is". – defacto

+0

@defacto ваш вопрос был «Я не могу найти способ удалить тег». Не могли бы вы пояснить, что вам действительно нужно делать? – vladkras