execCommand на Range - PullRequest
       9

execCommand на Range

5 голосов
/ 02 июля 2011

Я звоню execCommand в документе, чтобы выделить выделенный текст жирным шрифтом или установить его цвет. Но в последнее время мне нужно использовать execCommand в определенном диапазоне, а не выделенный текст.

Могу ли я это сделать, и если да, то как?

1 Ответ

7 голосов
/ 02 июля 2011

Можно, но это должен быть выбор. Другими словами, сделайте следующее:

  • Сохранить текущий выбор
  • Сделайте новый выбор на основе Range
  • Выполнить execCommand
  • Восстановить предыдущий выбор

Вы можете создать selection из диапазонов (браузеры не IE) со следующими параметрами:

 var selection = window.getSelection();
 selection.removeAllRanges();
 selection.addRange(range);

В IE вы можете напрямую выполнять execCommand на TextRange объектах, поэтому весь этот процесс не понадобится.

...