| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Здравствуйте. Вроде бы элементарно, а решить не могу. Как получить положение курсора(не мыши) в textarea. Конкретнее:
Есть textarea, есть кнопка. При нажатии на кнопку в textarea в то место, где там сейчас курсор, должно что-то вставляться. Повторяю, не в конец текста, а именно туда, где сейчас курсор. Заранее спасибо. |
|
|
# 4 |
|
Junior Member
Регистрация: 27.12.2002
Адрес: Belarus
Сообщения: 129
![]() |
IE не хранит позицию курсора в TextArea. Если бы это было так, то в этом форуме можно было бы вставлять смайлы именно как ты хочешь, а не в конец текста (Я специально поднял кучу доков и проверил).
Можно было бы перехватывать нажатия клавиш (onkeypress), запоминать и заменять event.keyCode на что-нибудь непечатное (1, 2 ...), потом определять его позицию в TextArea и заменять _непечатное_ на введённое пользователем значение. Но... клавиши удаления и курсора наплевательски игнорируются ![]() Кроме того, после потери фокуса (что произошло бы при нажатии кнопки), TextArea не запоминает позицию курсора (пройдись Tab, Shift-Tab). Однако, можно же использовать пресловутый Drag & Drop, или выделение! С Drag & Drop не пробовал, но должно выглядеть неплохо -- подцепил иконку и снёс на TextArea. Выделение (selection) может быть проще, но оно глобально (document.selection) -- нужно осторожнее с ним, а то будешь редактировать HTML страницы на лету P.S. Ежели нужна кому реализация на Drag&Drop -- сигнальте, постараюсь разобраться. |
|
|
|
|
# 5 |
|
Guest
Сообщения: n/a
|
Спасибо за ответ, конечно, но мне уже подсказали-
http://netadmin.ws/forum/showthread....5168#post45168 |
|
|
# 6 |
|
::VIP::
Регистрация: 24.01.2003
Адрес: astana[kz]
Сообщения: 478
![]() ![]() ![]() ![]() |
дядьки - можно нижеследующее как_нить проще оформить?
<script language="JavaScript"> function tchk(aa) { var Arr1=new Array; Arr1=document.c.id; for (i=0;i<Arr1.length;i++) { if (document.c.id[i] != aa) { document.c.id[i].checked=false; }; }; }; </script>
__________________
---IOTF IMHO.WS Distributed Challenge Team--- |
|
|
|
|
# 7 |
|
Junior Member
Регистрация: 27.12.2002
Адрес: Belarus
Сообщения: 129
![]() |
astanoid
Зачем же список всех элементов забивать в новый массив? IE сам может отфильтровать что нужно (c -- так форма называется, я не проверял): function tchk(aa) { var list = document.c.all[aa]; //взять из контейнера c все тэги с ID=aa var i; for (i = 0; i < list.length; i++) list[i].checked = ! list[i].checked; } Ниже клею пример где по кнопке происходит инверсия в 16-ти CheckBox-ах + маленький отладочный showProp()... |
|
|