Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Координаты... (https://javascript.ru/forum/misc/12014-koordinaty.html)

MadGest 26.09.2010 14:35

Координаты...
 
ПОдскажите пожалуйста каким способом можно реализовать данную задачу:

Есть textarea, в нем при печати нужно под курсором выводить div со списком, да так что бы можно было div стрелочками перелистывать.
(Что то типо Intellisense)

Octane 26.09.2010 14:41

Кросс-браузерно нужно? В IE и новых браузерах у Range-объектов есть метод getBoundingClientRect. По координатам, которые возвращает этот метод, уже не проблема позиционировать div.

MadGest 26.09.2010 14:55

Поддержка только для Opera. Пpочитал док на getBoundingClientRect немного не понял что он возвращает. Какой именно прямоугольник?
Как можно с помощью него позицию курсора узнать или смысл в том что просто найти элемент textarea и уже относительно него пересчитать в px сдвиг курсора внутри?

Kolyaj 26.09.2010 15:49

http://chikuyonok.ru/2010/06/content...-for-textarea/

Octane 26.09.2010 15:51

Выделение в документе всегда присутствует, даже если никакой текст не выделен, тогда границы выделения совпадают и оно может отображаться, как курсор, или вообще не отображаться, если находится в нередактируемой области.

var selection = getSelection();


Курсору (каретке) соответствует объект range, у которого совпадают границы (схлопнутый range).

var range = selection.getRangeAt(0);


range.getBoundingClientRect возвратит координаты курсора (top, left), что тут непонятного?

MadGest 27.09.2010 09:46

Спс всем, разобрался!


Часовой пояс GMT +3, время: 04:40.