Я пытаюсь реализовать предоставленный браузером форматированный текстовый редактор. Вот ссылка на Mozilla:
https://developer.mozilla.org/en/rich-text_editing_in_mozilla
Я делал это раньше, и он работает в IE / Chrome / Firefox, хотя, возможно, с несколькими ошибками.
В любом случае я установил contenteditable = true (через javascript), и теперь все, что осталось сделать, - это привязать нажатия кнопок (для форматирования «Полужирный», «Курсив» и т. Д.) К вызовам document.execCommand (). Я делаю это с помощью метода jQuery bind ().
Но ничего не происходит, когда я вызываю эту функцию, скажем, например:
document.execCommand ('жирный шрифт', ложь, ноль);
Функция обратного вызова click вызывается и все, но document.execCommand () просто игнорируется. Это не выдача какой-либо ошибки. Но если я выбираю текст и запускаю ту же команду из консоли Javascript, будь то в Chrome или Firefox, это работает! Текст становится жирным шрифтом ...
Так почему же он работает в консоли, а не внутри моего кода? Каковы различия контекста?
Спасибо
PS: я использовал HTML-тег «A» для кнопок форматирования (жирный, курсив и т. Д.). Как только я заменил его тегом BUTTON, он заработал ... Не имеет особого смысла для меня ...