Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2010, 14:35
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

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

Есть textarea, в нем при печати нужно под курсором выводить div со списком, да так что бы можно было div стрелочками перелистывать.
(Что то типо Intellisense)
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2010, 14:41
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Кросс-браузерно нужно? В IE и новых браузерах у Range-объектов есть метод getBoundingClientRect. По координатам, которые возвращает этот метод, уже не проблема позиционировать div.
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2010, 14:55
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Поддержка только для Opera. Пpочитал док на getBoundingClientRect немного не понял что он возвращает. Какой именно прямоугольник?
Как можно с помощью него позицию курсора узнать или смысл в том что просто найти элемент textarea и уже относительно него пересчитать в px сдвиг курсора внутри?
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2010, 15:49
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://chikuyonok.ru/2010/06/content...-for-textarea/
Ответить с цитированием
  #5 (permalink)  
Старый 26.09.2010, 15:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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

var selection = getSelection();


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

var range = selection.getRangeAt(0);


range.getBoundingClientRect возвратит координаты курсора (top, left), что тут непонятного?
Ответить с цитированием
  #6 (permalink)  
Старый 27.09.2010, 09:46
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Спс всем, разобрался!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Координаты картинки после движения Lisenok Общие вопросы Javascript 10 30.10.2009 19:58
Получить координаты мыши alekciy Events/DOM/Window 2 28.12.2008 00:07
Определить координаты объекта в таблице ner2000 Events/DOM/Window 2 14.06.2008 01:56
Координаты точки snake-as Общие вопросы Javascript 1 04.03.2008 12:23