![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| artnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 10.9.2011 Репутация: нет Всего: нет |
Мне нужно заменить внутри редактора фрагмент текста на HTML (%link% на <a href="http://site.ru" title="http://site.ru">%link%</a>). Но при изменении HTML-кода курсор каждый раз перебрасывается в начало.
Посоветуйте, что можно придумать в таком случае? Может есть способ замены только части html без замены всего кода? Вот готовый урезанный код:
Это сообщение отредактировал(а) artnik - 7.6.2012, 12:16 |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Если вы не слишком хорошо знакомы со свойствами и методами интерфейса Range (в IE — TextRange), не делайте замену текста всякий раз при нажатии клавиш, делайте замену однократно — при отправке/сохранении и т.д., когда изменение положения каретки не страшно. Если же хочется все-тки разобраться с Range, ссылки выше. Возможно, у вас получится запоминать положение каретки перед заменой и затем восстанавливать ее. Возможно, помогут методы surroundContents / pasteHTML. Но будьте при этом готовы, что код может существенно разрастись, особенно если нужна кроссбраузерность.
Добавлено через 9 минут и 19 секунд Да, еще обратите внимание на метод execCommand. С ним создавать гиперссылки может оказаться несколько проще (см. также пример по ссылке). Но если необходима кроссбраузерность, опять-таки может понадобиться писать «костыли». |
|||
|
||||
| artnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 10.9.2011 Репутация: нет Всего: нет |
Спасибо Amphiluke, почитаю. Хотя конечно сложно в этом все разобраться
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 3 Всего: 16 |
artnik, если в тексте %link% может повторяться несколько раз, то неправильно.
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| artnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 10.9.2011 Репутация: нет Всего: нет |
iff, спасибо за замечание, исправил
Это сообщение отредактировал(а) artnik - 7.6.2012, 12:18 |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |