Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   execCommand c formatblock обрамляет тегами весь текст, вместо выделенного (https://javascript.ru/forum/misc/10722-execcommand-c-formatblock-obramlyaet-tegami-ves-tekst-vmesto-vydelennogo.html)

балерун 17.07.2010 16:45

execCommand c formatblock обрамляет тегами весь текст, вместо выделенного
 
Привет всем, столкнулся с непонятным поведением execCommand. Когда выполняется такая строчка
iframe.contentWindow.document.execCommand("bold", false, "");

то жирным становится только тот текст, который выделен, этого я и ожидаю, а когда выполняю такую команду
iframe.contentWindow.document.execCommand("formatblock", false, "<h1>");

то весь текст помещается между тегами <h1> и </h1>, независимо от выделения.
Это вообще нормально? Я считал, что execCommand распространяется только на выделенную часть текста.
iframe - это узел тега iframe, наверно и так поняли.
Код запускал в Firefox 3.5.4

Octane 17.07.2010 17:08

О большинстве параметров execCommand можно забыть, для достижения ожидаемого кросс-браузерного результата придется самостоятельно разбивать теги и обрамлять выделенную часть, работая с Range/TextRange.

балерун 17.07.2010 17:36

Эх... а я надеялся, что все будет так просто...


Часовой пояс GMT +3, время: 11:41.