Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2011, 11:55
Новичок на форуме
Отправить личное сообщение для Curious Посмотреть профиль Найти все сообщения от Curious
 
Регистрация: 02.08.2011
Сообщений: 6

Автоподстветка слов в designmode
Требуется реализовать следующую задачу:

Пользователь в iframe designmode набирает сообщение, при наборе определенных слов они подсвечиваются.

Я это делаю следующим образом: обрабатываю все нажатия клавиш в iframe. При нажатии пробела, я пробегаюсь по тексту регуляркой и обрамляю нужные слова тегом.

Обрамление работает хорошо, но курсор скачет в начало текста.

Пробую запоминать позицию курсора, и выставлять в позицию, но начинается проблема с позицией вставки. Ведь добавлены новые теги и ноды поменялись.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2011, 13:27
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

Место курсора помечайте новым узлом (маркером), после прохода по тексту возвращайте курсор к маркеру и удаляйте его.
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2011, 16:18
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

ммм а нельзя просто посчитать длину строки?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2011, 16:28
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

розовый слоник,
В designmode курсор позиционируется спомощью манипуляций с узлами (выделяем узел, схлопываем выделение), пробемно оценить какой узел находится на n-расстоянии от начала. С маркером гораздо проще.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2011, 16:58
Новичок на форуме
Отправить личное сообщение для Curious Посмотреть профиль Найти все сообщения от Curious
 
Регистрация: 02.08.2011
Сообщений: 6

da_ff, спасибо.

а не получится ли ситуация, что после удаления маркера позиция опять обнулится?
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2011, 17:10
Новичок на форуме
Отправить личное сообщение для Curious Посмотреть профиль Найти все сообщения от Curious
 
Регистрация: 02.08.2011
Сообщений: 6

<текст><выделенное слово><узел с пробелом(маркер)>

И есть проблема в хроме (скорее всего и в других браузерах будет): при добавлении узла с пробелом , он не добавляется и курсор перебрасывается в узел с выделенным словом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переводчик слов Гугл-мен Общие вопросы Javascript 8 14.01.2011 22:11
Управление курсором в designMode BreatheInTheVoid Элементы интерфейса 4 15.06.2010 12:17
Подсчет количества слов в поле формы. Guranin Общие вопросы Javascript 7 10.08.2009 13:35
Замена слов в тексте Dan T Общие вопросы Javascript 8 18.03.2009 12:36
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07