2010-11-03 3 views
2

Я пытаюсь реализовать многострочное текстовое поле на веб-сайте. Текстовое поле должно предлагать своего рода автозаполнение, пока пользователь печатает. Автозаполнение должно работать так же, как «Intellisense» в визуальной студии ms (см. Снимок экрана ниже), и отображать выбор автозаполнения (список, содержащий «bar» и «foo_bar») чуть ниже текстового курсора.Как определить абсолютное положение текстового курсора на веб-сайте?

Я начал с простого текстового поля html. Я нашел несколько jQuery-плагинов, которые помогают мне манипулировать текстовым полем, но остается одна очень простая проблема.

Как я могу узнать, где разместить выбор автозаполнения (список, содержащий «бар» и «foo_bar» на скриншоте)?

Какой html-элемент, текстовый редактор, техника или плагин могут помочь мне разместить выбор автозаполнения прямо под текстовым курсором?

Большое спасибо

JJ

После пример того, как "IntelliSense" выглядит следующим образом:

alt text

+0

возможно дубликат http://stackoverflow.com/questions/2955244/html-selection-range-getting-the-range-starting-node-ending-node-distan –

ответ

1

Функции JavaScript event.clientX и event.clientY будет возвращать координаты события. Привяжите эти функции к событию onkeydown в вашем текстовом поле, чтобы узнать, где находится курсор.

+0

Я пробовал и, похоже, работает для мыши -Мероприятия. Но он не работает для клавиатурных событий. Я нашел веб-сайт, который реализовал именно то, что я хотел бы сделать (http://ajaxime.chasen.org/), и они используют довольно сложное обходное решение для определения положения текстового курсора (каретки). (см. пояснения по http://markmail.org/message/p3ejuxjpebigvmro). Нет ли более простого способа узнать положение текстового курсора? – Enceradeira