webkit stylewithcss contenteditable не работает? - PullRequest
5 голосов
/ 22 июня 2010

Я пытаюсь использовать contenteditable и styleWithCss.

Кажется, он не работает в webkit.

Каждый раз, когда я использую команду execCommand, она генерирует <b> вместоожидаемый диапазон.

Вот демонстрация: http://jsbin.com/izomo/2/edit

Выделите часть текста, нажмите кнопку, выделенную жирным шрифтом, и посмотрите вывод html.

Является ли этоошибка или я делаю что-то не так.

Большое спасибо.

Ответы [ 3 ]

10 голосов
/ 14 мая 2013

Мне не удалось заставить это работать с командами в обоих ответах здесь.Для тех, кто все еще бьется головой об этой проблеме, вот как заставить ее работать.

Мы можем передать три значения execCommand

document.execCommand( command, uiElement, value ) 

Поскольку превосходный ответ Кристофера подробно описывает значение"styleWithCSS" по умолчанию имеет значение false, просто попробуйте:

alert(document.queryCommandState("styleWithCss"));

Чтобы установить его в значение true, вам нужно передать третий аргумент "value" как true.Вот так:

document.execCommand("styleWithCSS", null, true);

Это работает как в Firefox, так и в Chrome

3 голосов
/ 25 июня 2010

Похоже, что все работает как положено. См. Ошибка 13490 в WebKit BugZilla.

РЕДАКТИРОВАТЬ: Добавлена ​​поддержка styleWithCSSк источнику WebKit в changeset 40560 от 3 февраля 2009 года.

Тем не менее, с тех пор кажется, что, несмотря ни на что, styleWithCSS всегда установлен на false, тогда какдо изменения команды стиля всегда применялись с CSS, как если бы существовал styleWithCSS, но всегда был установлен true.

Я даже пытался переписать вашу строку document.execCommand следующим образом, в соответствии с Документация Mozilla :

document.execCommand("styleWithCSS", true, null);
document.execCommand("bold", false, null);

Эти измененные команды по-прежнему работают в Firefox, но не в Chrome 5 или Safari 5 (как в Windows, так и в настоящее время установлены).

ИтакКазалось бы, это ошибка WebKit.

1 голос
/ 26 марта 2012
document.execCommand("styleWithCSS", true, null);
document.execCommand("bold", false, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...