![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| goldmember |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
При потере фокуса у меня элемент идёт в display='none' с 200 мс задержкой, а как сделать так, чтобы при определённом событии(допустим onmousedown) на каком нибудь другом элементе(определённом) потеря фокуса не происходила, а то что то метод focus() у меня не прошёл....
зы. Например в файрфоксе это по умолчанию реализовано.. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
а что нужно, отменить скрытие элемента или оставить фокус?
и что реализовано в файерфоксе? |
|||
|
||||
| goldmember |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Собственно скрытие элемента у меня происходит при потере фокуса (расшифрую скрывается не элемент который фокус теряет, а некий див , который привязан к нему логически), так что либо то, либо, то
Например, когда я скролю див (тот самый), то текстовое поле не теряет фокуса... |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну тогда проще поставить блокиратор в функцию сокрытия, которая бы проверяла условия, тот элемент или не тот был нажат.
это удобнее, если требуется обойти в реакции какой-то один или два определённых элемента |
|||
|
||||
| goldmember |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Непонятно как проверить в функции обработчика onblur элемент, на котором нажатие было? Ведь srcElement даст текстовое поле, а не див...
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну, скажем на onblur запускается таймаут вызова функции, на стороннем элементе либо как-то определяем фокус, либо просто вешаем на него onclick и изменение общей переменной. мол, это по мне щёлкнули. таймаут вызывает наш обработчик сокрытия, он проверяет состояние переменной и если она true, то никакой реакции (кроме того, что обратно ставим значение переменной)
таймаут в таких случаях максимум до 20 мс, а иногда и через 1-2 можно поставить |
|||
|
||||
| goldmember |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Да это работает, только если onclick сработал на элементе я не див скрываю, а принудительно ставлю фокус полю с которого onblur таймаут запустил...
Это сообщение отредактировал(а) goldmember - 17.5.2010, 15:20 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |