Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрытие Дива при потере фокуса. onBlur - не существует для Дивов 
V
    Опции темы
godsgame
Дата 10.1.2006, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



Я так понял у Дивов не существует события onBlur...
Просто у меня есть Див:
Код

<DIV id="money" style="position:absolute;display:none" align="center" onBlur="alert('sss');">


Координаты абсолютные. Он появляется когда пользователь щелкнет на иконке.
Как мне сделать чтоб когда пользователь щелкнул ВНЕ дива (не на див) - чтобы Див скрылся?
(т.е как-будто Див потерял фокус и скрылся)

онБлур - не работает.(проверял)
Добавлено @ 00:46
я так понимаю надо отлавливать щелчек левой или правой кнопки и проверять на диве щелкнули или нет, если нет - скрывать див, так? или проще можно?

Это сообщение отредактировал(а) godsgame - 10.1.2006, 00:41
PM MAIL   Вверх
Illuminaty
Дата 10.1.2006, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 4
Всего: 56



Цитата(godsgame @ 10.1.2006, 01:39 Найти цитируемый пост)

я так понимаю надо отлавливать щелчек левой или правой кнопки и проверять на диве щелкнули или нет, если нет - скрывать див, так?
я бы делал так

PM MAIL ICQ   Вверх
godsgame
Дата 10.1.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



Illuminaty
помоги пожалуйста с реализацией
PM MAIL   Вверх
12345c
Дата 10.1.2006, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Я так делал; заодно вылезет ещё проблема - что дивы не присутствуют в цепочке offsetParent, если только он не последний в цепочке. Приходится использовать таблицы.

godsgame : в простом случае ловишь
Код

document.onclick=function(){закрыть все дивы, которые могут быть открыты;}
, а на диве остановить распространение события (onclick=event.cancelBubble=!0;). Любой другой пример зависит от конкретной реализации, и некорректно просить пример, не показывая ни строчки своего кода : ).

Это сообщение отредактировал(а) 12345c - 10.1.2006, 19:34


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
godsgame
Дата 11.1.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



12345c
при щелчке на иконку - Див быстро появляется и сразу же исчезает.
onclick=event.cancelBubble=!0 - не помогает

smile
Добавлено @ 10:43
происходит типа такого:
1) клик - появляется див
2) событие на этот клик закрывает этот див
smile
PM MAIL   Вверх
12345c
Дата 11.1.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Да, правильно, на иконке тоже нужно ставить останов распространения события (cancelBubble) - оно доходит до document и закрывает div. И в любом другом месте, где клик не должен закрывать div-ы - ссылки, например.

Или вариант - в самом document.onclick проверять, откуда событие пришло. Если srcElement (target для Gecko) есть .tagName=='A' или .id==ид_иконки, или .className==класс_иконки, то закрывания не делается.

Это сообщение отредактировал(а) 12345c - 11.1.2006, 14:07


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
godsgame
Дата 11.1.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



Цитата

Да, правильно, на иконке тоже нужно ставить останов распространения события (cancelBubble)


пробовал и тут ставить - тоже самое.

Попробую твой второй вариант и напишу результаты.
PM MAIL   Вверх
GIK
Дата 11.1.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Уже пол часа читаю топ и немогу понять что вообще надо реализовать?
Код

<html>
 <head>
 <script language="JavaScript">
    document.onclick=function(){
    
    document.getElementById("money").style.visibility="hidden";   
 }
  </script>
 </head>
<body>
<div id="money" style="position:absolute;visibility:visible;color:green;"align="center">
fx123fx321
</div>
</body>
<html>

Добавлено @ 15:30
Вообще то Клик это не потеря фокуса, насколько я знаю???
и вообще onBlur в диве???
Опишите задачу по подробнее, а то что-то интересно стало smile


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
godsgame
Дата 11.1.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



GIK
вот это smile

Код

        function hide_all() {
            var tgt=window.event? window.event.srcElement: ev.target;
            if ( tgt.id !== "mon_ic" ) {            
                m_hide(money); 
                m_hide(thing);
            }
        }
        
        document.onclick = hide_all;


Код

<DIV id="money" style="position:absolute;display:none" align="center" onclick="event.cancelBubble=true;">abc</DIV>
...
<img src="img/money.gif" id="mon_ic" align="top" alt="" width="12" height="12" onclick="uShow('money','','');">



12345c
работает как часы. Огромное спасибо!
Добавлено @ 15:38
GIK
задача:
1) щелкаешь на кнопку - появляется Див.
2) Щелкаешь ВНЕ Дива - див пропадает

вроде такая....

Цитата

Вообще то Клик это не потеря фокуса, насколько я знаю???
и вообще onBlur в диве???

Клик это не потеря фокуса, но должно выглядеть как потеря smile)))
в том-то и дело что в Дивах onBlur не работает!
Добавлено @ 15:40
если бы работал онБлур было бы все гораздо проще... типа такого:
Код

<div id="money" onblur="m_hide(money);" onclick="event.cancelBubble=true;"></div>


Это сообщение отредактировал(а) godsgame - 11.1.2006, 15:44
PM MAIL   Вверх
GIK
Дата 11.1.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Цитата

в том-то и дело что в Дивах onBlur не работает!

Естественно,
это впринципе неможет быть.

Цитата

задача:
1) щелкаешь на кнопку - появляется Див.
2) Щелкаешь ВНЕ Дива - див пропадает

Ну вот...
То клик на документе, то на кнопке,
пойми после этого что надо smile

А вообще, задача решилась?


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
godsgame
Дата 11.1.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 29.8.2005

Репутация: нет
Всего: нет



GIK
Цитата

То клик на документе, то на кнопке,
пойми после этого что надо

клик влюбом месте ВНЕ дива!!

решилась. см. мой код.
PM MAIL   Вверх
12345c
Дата 11.1.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



GTK: когда встречается категоричное утверждение, то его опровержение быстро находится : )

См. код (в IE):
Код

<div contenteditable onblur=alert(0)>idfveruvnr nrtngtrng $nhgtrn l$rthnr</div>



--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0826 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.