Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2010, 08:59
Аспирант
Отправить личное сообщение для olgatcpip Посмотреть профиль Найти все сообщения от olgatcpip
 
Регистрация: 09.04.2009
Сообщений: 63

определить где курсор
Здравствуйте.

Нужно определить в каком имено текстовом поле курсор находится именно сейчас, главное его id.
т.е есть, например 2 тексовых поля
<textarea id="txt_1"></textarea>
<textarea id="txt_2"></textarea>
<input type="submit" value="Где курсор?">

По любому событию нужно определить где курсор, например по нажатию на кнопку.

т.е.например пишем в txt_1, нажимаем на кнопку, получает id="txt_1". аесли пишем в во втором поле, то получаем ид воторго поля.

Я единственое что могу полагать, так это перебором определять где курсор.
Т.е. в цикле по текстовым полям, что-то вроде этого
functin func(){
for(var i=1; i<3;i++){
  obj = document.getElementById("txt_"+i);
  if(!obj) continue;
  // тут как-то определить, что есть в нем курсор
   if(нашли тут курсор){
     alert('id = txt_'+i);
     return;
   }
}
alert('Курсор не нашли');
}
есть способ проще?
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2010, 09:13
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Используй события
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2010, 09:19
Аспирант
Отправить личное сообщение для olgatcpip Посмотреть профиль Найти все сообщения от olgatcpip
 
Регистрация: 09.04.2009
Сообщений: 63

Skip , пардон, но мне нужно не на объект событие навесить, а по событию определить в каком объекте. понятно что оно произойдет в window, а конечный дочерний объект какой?
Ответить с цитированием
  #4 (permalink)  
Старый 27.04.2010, 09:22
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

почему в window?

<textarea id="txt_1" onclick="func(this)"></textarea>
<textarea id="txt_2" onclick="func(this)"></textarea>


функция получит тот элемент на который кликнули.
Есть ещё море способов.

А дочерние элементы firstChild и поехал дальше nextSibling
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 27.04.2010, 09:36
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Может так попробовать:
<textarea id="txt_1" onfocus="where = this;">1</textarea>
<textarea id="txt_2" onfocus="where = this;">2</textarea>
<input type="text" onfocus="where = null;">
<button onclick="(where) ? alert(where.id) : alert('Не выбрана текстареа');">траляля</button>

<script type="text/javascript">
var where = null;

</script>
Ответить с цитированием
  #6 (permalink)  
Старый 27.04.2010, 09:59
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Как только Вы нажмете кнопку, фокус с другого элемента формы снимется.

Если же Вы имеете в виду клавишу на клавиатуре, то все значительно проще: вешаем обработчик keydown или keypress на document, а потом смотрим, от кого пришло событие:
e.srcElement||e.target
, где e - первый параметр функции-обработчика.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mouseout: Определить дочерние элементы Papa Общие вопросы Javascript 3 03.02.2010 20:29
Не могу решить задачу: Добавление цитаты в textarea,где находистся курсор dummer jQuery 1 24.12.2009 18:17
Кроссброузерно определить значение атрибута faunder Общие вопросы Javascript 5 21.02.2009 22:08
Где ошибка? gogi Общие вопросы Javascript 8 04.02.2009 12:21
Определить координаты объекта в таблице ner2000 Events/DOM/Window 2 14.06.2008 01:56