powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript фокусы, потеря фокуса.
6 сообщений из 6, страница 1 из 1
Javascript фокусы, потеря фокуса.
    #36475550
ice-covered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень творческое задание у меня есть.
Есть некая табличка:
---------------------
Столбец1|Столбец2
---------------------
Label1 | Field1 Hidden1
Label2 | Field2 Hidden2
....
---------------------
То есть в первом столбце некая строчка, во втором поле для ввода.
Если еще точнее, то во втором столбце в каждой ячейке тоже отдельная табличка, в первом столбце которой и есть поле для ввода (Field), а во втором некий div обладающий вот таким свойством: style="display:none;". Внутри этого дива есть еще два поля для ввода (условно назовем их f1 и f1).
Как только Field получает фокус ввода, то и div становится видимым, и, соответственно, f1 и f1 видно, и я могу в них тыкнуть мышкой, и что-нибудь изменить.

Ну а теперь и задача :
Мне нужно как-нибудь сделать так, что после того, как я введу что-нибудь в поля f1 и f2 и, если я снова не возвращаюсь в Field, то div снова бы приобретал свойство display:none.

Вроде бы, все просто, но не тут то было. Если для Field задать событие onBlur, то после потери фокуса я просто напросто не могу попасть в поля f1 и f2 (исчезают сразу после того, как я в них тыкаю - то есть когда Field теряет фокус :) ).
Если же задать onmouseout для ячейки таблицы, то довольно проблематично, опять же, дотянуться до f1 и f2 не выйдя за область, да и вообще не факт, что я (пользователь) мышкой пользуюсь.
Так на какое же событие и для какого объекта задать соответствующие действия?

П.С. У всех Field-ов, div-ов, f1 и f2 есть уникальные id.
П.П.С. Для примера, вот так выглядит onFocus для Field1:
Код: plaintext
onFocus="ChkHide(''iddiv_1'', ''block'');" 
, где ddiv_1 - айдишник соответствующего div-а.
И сама функция:
Код: plaintext
1.
2.
3.
4.
5.
function ChkHide(p_id, p_param)
      {
           var v_obj1 = document.getElementById(p_id);
           v_obj1.style.display=""+p_param;
      }
...
Рейтинг: 0 / 0
Javascript фокусы, потеря фокуса.
    #36475590
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при получении field'ом фокуса фиксируйте то, что содержится в полях f1 и f2...Сделайте флаг, при изменении поля f1 или f2 флаг = true, при получении фокуса Field'ом флаг = false.
при событии onblur для полей f1 и f2 проверяйте, если флаг == true, то скрывайте, если false, то не скрывайте...Желательно делать это с использованием таймера
...
Рейтинг: 0 / 0
Javascript фокусы, потеря фокуса.
    #36475644
ice-covered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegis ,спасибо. С таймером замечательная идея!
А не подскажете ли, как проверить, есть ли фокус на заданном объекте? Гуглю, не могу найти что-то...
...
Рейтинг: 0 / 0
Javascript фокусы, потеря фокуса.
    #36475705
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
if (obj.focused) alert( 123 );
...
Рейтинг: 0 / 0
Javascript фокусы, потеря фокуса.
    #36479659
ice-covered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegis
Код: plaintext
1.
if (obj.focused) alert( 123 );

не работает такой способ, к сожалению. Во всяком случае, в IE и FF.
Зато можно
Код: plaintext
if (obj==document.activeElement) alert( 123 );
Хотя, говорят, что в FF не должно работать, у меня работает. IE и Opera тоже поддерживают. А вот в Chrome как-то странно работает с checkbox'ами, но в общем тоже работает.

Еще раз спасибо за идею с таймером! Выручили!!!
...
Рейтинг: 0 / 0
Javascript фокусы, потеря фокуса.
    #36479994
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я в IE не смотрел, но в FF предложенный способ работал
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript фокусы, потеря фокуса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]