Форматирование текста

 
0
 
JavaScript
ava
PetrovStas | 04.10.2004, 21:02
Имеется html-код:

<INPUT id='btnBold' name='btnBold' type='button' value='Полужирный' onClick='f_format("Bold");' class='btnUp'>
<DIV id='editor' name='editor' contenteditable ></DIV>


С помощью JavaScript обрабатываем нажатие кнопки:

// производим форматирование текста согласно пришедшего параметра
function f_format(cmd) {
document.execCommand(cmd);
editor.focus();
};


Необходимо сделать так чтобы при установке курсора в тексте (элемент DIV) на символы имеющие
различное форматирование (полужирный, курсив и т.д.) изменялся стиль кнопки на btnDown

Помогите пожалуйста!
Comments (7)
ava
Aliance | 04.10.2004, 21:17 #
Можто так:


function f_format(cmd) {
document.execCommand(cmd);
editor.focus();
document.getElementById("btnBold").className = "Нужный_тебе_класс"
};
ava
Alx | 05.10.2004, 16:09 #
не очень понятен вопрос. Объясни поподробнее!
ava
PetrovStas | 05.10.2004, 17:16 #
Поясняю:
Необходимо при нажатии на кнопку заменить текст на жирный(как в word'е) и наоборот при выделении слова отображать кнопку нажатой.
ava
Alx | 05.10.2004, 17:22 #
при выделении слова отображать кнопку нажатой.

т.е. если курсор стоит на "жирном" слове, то кнопка нажата, а value "полужирный", так?
если курсор стоит на "курсиве", то кнопка нажата, а value "Наклонный".
Сколько всего вариантов форматирования. 3? B, I и U? При наведении на не форматированный текст, какой должна быть кнопка и Value?
ava
Aliance | 05.10.2004, 19:36 #
Тогда так:

function changeClass() {
     var button = document.getElementById("btnBold");
   evt = (evt) ? evt : ((window.event) ? event : null);
   if (evt) {
      var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
        if (elem == button && elem.type == click) {
        document.getElementById("btnBold").value = "Нужное_тебе_value"
        }
  }
}

:withstupid
ava
Sardar | 06.10.2004, 00:58 #
Aliance evt в аргументах забыл ;-)
PetrovStas не видя всего кода сложно ответить кодом ;-)
По моему код позаимствован из яндекса.
Текст фоматируется обычными HTML тегами, браузер сам вставляет нужную разметку при печати. Проверяем если мы сейчас в теге <b></b>, то ставим кнопку нажатой.

Досконально этим вопросом не занимался, нужно почитать пару статей на MSDN'е и разобрать исходники HTMLArea. Xороший вопрос smile
ava
Aliance | 06.10.2004, 13:39 #
Sardar
Точно, пасип :)

[offtop]Вчера с коньяком я перебрал, наверное %)[/offtop]
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit