powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Клик в любом месте кроме конкретного Div-a
20 сообщений из 20, страница 1 из 1
Клик в любом месте кроме конкретного Div-a
    #35138868
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на страничке есть поле вводя даты. Рядом кнопочка при клике на которую открывается календарь (оформеный как div).
У календаря есть кнопка закрыть. При щелчке на дату, он так же закрывается. Можно ли сделать чтоб он закрывался еще и при щелчке в любое место за пределами этого div-a?
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35138888
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<body onclick="..."> не катит?
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35139037
minva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge<body onclick="..."> не катит?

Пробовал, что-то не сработало. И потом тот же div тоже попадет под body onclick
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35139184
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверяй window.event.srcElement.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35140177
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minvaИ потом тот же div тоже попадет под body onclick
event.cancelBubble=true; в таких случаях помогает.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35140497
_restavraciya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имхо похожая задача, поэтому спрашиваю тут : узнать id элемента по которому кликнули ?
Кликнуть можно по любому элементу, поэтому каждому прописывать onclick не хочется.
Искал - не нашел. Подскажите как решить.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35140548
Фотография alexzander77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_restavraciyaИмхо похожая задача, поэтому спрашиваю тут : узнать id элемента по которому кликнули ?
Кликнуть можно по любому элементу, поэтому каждому прописывать onclick не хочется.
Искал - не нашел. Подскажите как решить.
Код: plaintext
1.
2.
3.
4.
5.
6.
<body onclick='show();'>
<script language=javascript>
		function show() {
		 	alert(event.srcElement.id);
		}
	</script>
(С)
www.sql.ru/forum/actualthread.aspx?tid=526435
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35140598
_restavraciya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибО!
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35142651
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
event.srcElement.id
Под фирефоксом работать не будет.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145236
Фотография alexzander77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeevent.srcElement.id
Под фирефоксом работать не будет.
Вот гады.(
а я так рассчитывл (((
а что будет работать?
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145766
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
под файрфоксом другой объект, передается параметром функции. Свойства конкретного я не помню, я люблю пользоваться тулкитами, которые все кроссбраузерные преобразования делают за меня
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145787
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, если каждому элементу написать onclick="tudasuda(event,this);" Обработчик будет в любом браузере понимать и эвент и элемент, его типа пославший.
для кроссбраузерной обработки эвента, вместо простого канселбаббла надо писать:
Код: plaintext
1.
ev.stopPropagation ? ev.stopPropagation() : ev.cancelBubble=true;
, где ev - твой эвент.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145830
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это вариант черезжопу
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145835
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыэто вариант черезжопу
Точно. А что делать?
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35145897
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) при открытии календаря вешаем дополнительный обработчик onclick на весь документ
2) по приходу управления в этот обработчик
function handler(e) {
var ev = window.event || e; (как-то так вроде)
....
}
от ev.target и наверх бежим пока не встретим либо начало документа (parentNode==null), либо ноду календаря (обозначенную классом, айди или как-то ещё).
Если встретили - выходим из обработчика. Если не встретили - закрываем календарь
3) при закрытии календаря отвязываем onclick от документа


кроссбраузерные механизмы работы с ивентом и обработчиками делаются через клиентские библиотеки ms ajax , либо тулкиты jquery / mootools / dojo / extjs / prototype / yui , короче что душе угодно. Если не хочется их использовать, то "правильный" код с легкостью оттуда тырится.
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35146162
Фотография alexzander77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы1) при открытии календаря вешаем дополнительный обработчик onclick на весь документ
2) по приходу управления в этот обработчик
function handler(e) {
var ev = window.event || e; (как-то так вроде)
....
}
от ev.target и наверх бежим пока не встретим либо начало документа (parentNode==null), либо ноду календаря (обозначенную классом, айди или как-то ещё).
Если встретили - выходим из обработчика. Если не встретили - закрываем календарь
3) при закрытии календаря отвязываем onclick от документа


кроссбраузерные механизмы работы с ивентом и обработчиками делаются через клиентские библиотеки ms ajax , либо тулкиты jquery / mootools / dojo / extjs / prototype / yui , короче что душе угодно. Если не хочется их использовать, то "правильный" код с легкостью оттуда тырится.
сенкс, значит я сделал правильно. я , собсно, не знал что в фф евент через параметр передается.
(вообще-то, чесноговоря, я не знал что евент.срцЕлемент.ид в фф работать не будет)
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35149058
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зылибо тулкиты jquery / mootools / dojo / extjs / prototype / yui , короче что душе угодно. Если не хочется их использовать, то "правильный" код с легкостью оттуда тырится.
Спасибо, никогда не юзал. Сегодня поюзал jquery. Наверное эти самые тулкиты - лучший выбор, если конечно сам их не пишешь (в исходниках - такая фигня, но - работает).
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35149062
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS сам-то чего юзаешь?
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35149066
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mootools, dojo, extjs
конечно же не все вместе :)
...
Рейтинг: 0 / 0
Клик в любом месте кроме конкретного Div-a
    #35149067
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Клик в любом месте кроме конкретного Div-a
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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