Координаты...
ПОдскажите пожалуйста каким способом можно реализовать данную задачу:
Есть textarea, в нем при печати нужно под курсором выводить div со списком, да так что бы можно было div стрелочками перелистывать. (Что то типо Intellisense) |
Кросс-браузерно нужно? В IE и новых браузерах у Range-объектов есть метод getBoundingClientRect. По координатам, которые возвращает этот метод, уже не проблема позиционировать div.
|
Поддержка только для Opera. Пpочитал док на getBoundingClientRect немного не понял что он возвращает. Какой именно прямоугольник?
Как можно с помощью него позицию курсора узнать или смысл в том что просто найти элемент textarea и уже относительно него пересчитать в px сдвиг курсора внутри? |
|
Выделение в документе всегда присутствует, даже если никакой текст не выделен, тогда границы выделения совпадают и оно может отображаться, как курсор, или вообще не отображаться, если находится в нередактируемой области.
var selection = getSelection(); Курсору (каретке) соответствует объект range, у которого совпадают границы (схлопнутый range). var range = selection.getRangeAt(0); range.getBoundingClientRect возвратит координаты курсора (top, left), что тут непонятного? |
Спс всем, разобрался!
|
Часовой пояс GMT +3, время: 04:40. |