Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Событие при клике на любой элемент кроме одного (https://javascript.ru/forum/jquery/23601-sobytie-pri-klike-na-lyubojj-ehlement-krome-odnogo.html)

shaltay 29.11.2011 17:23

Событие при клике на любой элемент кроме одного
 
Доброго времени. Борюсь с такой задачей:
На страничке при каком-то действии всплывает див (без затемнения фона). Надо чтобы по нажатии вне элемента он закрывался, а по нажатии на него - нет.

$('*:not(#div)').click(function(){
 if($(this).attr('id')!='div'){
   $('#div').hide();
 }
});


Вот такая и похожие конструкции не помогают. Див закрывается при любом клике в любом месте, так как он перебирает все элементы, которые находятся под мышкой.

Что делать?

shaltay 29.11.2011 17:27

Сорри, поспешил с писаниной и нашел адекватный пример реализации:

$(document).click(function(e){
  if ($(e.target).closest("#fadeDiv").length) return;
  $('#fadeDiv').hide();
  e.stopPropagation();
  });


Часовой пояс GMT +3, время: 12:30.