- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
$(document).click(function (e) {
if ($(e.target).parents().filter('#idAddItTopPopUpMenu:visible').length != 1) {
$('#idAddItTopPopUpMenu').hide();
}
if ($(e.target).parents().filter('#idAddItProductDetailPopUpMenu:visible').length != 1) {
$('#idAddItProductDetailPopUpMenu').hide();
}
if ($(e.target).parents().filter('#idPampItProductDetailPopUpMenu:visible').length != 1) {
$('#idPampItProductDetailPopUpMenu').hide();
}
if ($(e.target).parents().filter('#idPrivacyProductPopUpMenu:visible').length != 1) {
$('#idPrivacyProductPopUpMenu').hide();
}
if ($(e.target).parents().filter('#idSocialNetworkMenu:visible').length != 1) {
$('#idSocialNetworkMenu').hide();
}
if ($(e.target).parents().filter('#idPampItTopPopUpMenu:visible').length != 1) {
$('#idPampItTopPopUpMenu').hide();
}
. . .
if ($(e.target).parents().filter('div[id=idAreaLastMessage]:visible').length != 1 && $(e.target).parents().filter('div[id=idbtnMessages]').length != 1) {
$('div[id=idListLastMessage]').hide();
}
if ($(e.target).parents().filter('div[id=idAreaLastAlert]:visible').length != 1 && $(e.target).parents().filter('div[id=idbtnAlert]').length != 1) {
$('div[id=idListLastAlert]').hide();
}
if ($(e.target).parents().filter('div[id=idAreaNearestCalendar]:visible').length != 1 && $(e.target).parents().filter('div[id=idbtnNearestCalendar]').length != 1) {
$('div[id=idListNearestCalendar]').hide();
}
});
oooZinka 14.05.2012 15:13 # +1
parents() вынес остатки моего разума, собираем всю родительскую цепочку ради того чтобы выяснить нажали мы вне popup и скрыть его.
Можно создать фоновый див, который будет лежать под всеми окнами и ловить на себя клик, попутно скрывая все элементы с классом .popupBlock, который мы пропишем всем окнам.
DarkThinker 14.05.2012 16:05 # +1
Lure Of Chaos 14.05.2012 20:28 # +1
guest 15.05.2012 14:43 # 0
var winds=$("#win1,#win2,...");
$(document).click(function (e) {
var click={x: e.pageX, y: e.pageY}
winds.each(function(){
var bounds=getBounds(this);
if (!isInside(click, bounds))
$(this).hide();
})
}
mangyst 15.05.2012 17:28 # 0