|
|
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
Использую div в режиме contenteditable. Допустим в нем есть код: <b>текст1</b> <i>текст2</i>. Нужно узнать: 1) элемент, в котором находится текстовый курсор (i или b или между ними, на пробеле). 2) позицию курсора в тексте. Благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 16:18 |
|
||
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
Можно попробывать что-нибудь в виде: function getCaretPos() { var obj = document.getElementById("move"); obj.focus(); if(obj.selectionStart) return obj.selectionStart;//Gecko else if (document.selection)//IE { var sel = document.selection.createRange(); var clone = sel.duplicate(); sel.collapse(true); clone.moveToElementText(obj); clone.setEndPoint('EndToEnd', sel); return clone.text.length; } return 0; } Здесь возвращается положение курсора отсчитываемое от нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2007, 17:47 |
|
||
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
С 2) разобрался, но с 1) еще нет. Пожалуй озвучу задачу целиком: нужно вставить элемент (конкретно таблицу - крайняя правая кнопка) в то место, где находится курсор. Пока что она добавляется в конец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 11:11 |
|
||
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
Разобрался и с 2). Всего-то нужно var el=sel.parentElement(); Причем именно =, sel.parentElement.tagName возвращает undefined. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 16:16 |
|
||
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
А почему бы не воспользоваться уже готовым редактором и не изобретать колесо? TinyMCE, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2007, 16:54 |
|
||
|
Текущее положение текстового курсора.
|
|||
|---|---|---|---|
|
#18+
Я и воспользовался "готовым", но его возможностей не хватало и упомянутые пункты нигде в коде не были реализованы. А TinyMCE посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 12:35 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=34840500&tid=1457568]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 171ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...