Javascript Работает в консоли, но не внутри тега скрипта ... Каков контекст консоли? - PullRequest
0 голосов
/ 07 мая 2011

Я пытаюсь реализовать предоставленный браузером форматированный текстовый редактор. Вот ссылка на 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, он заработал ... Не имеет особого смысла для меня ...

1 Ответ

1 голос
/ 08 мая 2011

Звучит как одна из двух потенциальных проблем:

...