Автоподстветка слов в designmode
Требуется реализовать следующую задачу:
Пользователь в iframe designmode набирает сообщение, при наборе определенных слов они подсвечиваются. Я это делаю следующим образом: обрабатываю все нажатия клавиш в iframe. При нажатии пробела, я пробегаюсь по тексту регуляркой и обрамляю нужные слова тегом. Обрамление работает хорошо, но курсор скачет в начало текста. Пробую запоминать позицию курсора, и выставлять в позицию, но начинается проблема с позицией вставки. Ведь добавлены новые теги и ноды поменялись. |
Место курсора помечайте новым узлом (маркером), после прохода по тексту возвращайте курсор к маркеру и удаляйте его.
|
ммм а нельзя просто посчитать длину строки?
|
розовый слоник,
В designmode курсор позиционируется спомощью манипуляций с узлами (выделяем узел, схлопываем выделение), пробемно оценить какой узел находится на n-расстоянии от начала. С маркером гораздо проще. |
da_ff, спасибо.
а не получится ли ситуация, что после удаления маркера позиция опять обнулится? |
<текст><выделенное слово><узел с пробелом(маркер)>
И есть проблема в хроме (скорее всего и в других браузерах будет): при добавлении узла с пробелом , он не добавляется и курсор перебрасывается в узел с выделенным словом |
Часовой пояс GMT +3, время: 04:57. |