Хочу сделать скрипт, который будет скрывать слой (включающий n вложенных элементов), если мышкой щелкнули не по нему. Пока не придумал ничего лучше чем проверять всех родителей элемента по которому щелкнули, если среди них нет искомого, то его закрываем:
$(document).bind("click", function(e){
var close = true;
var id = picker.attr('id');
if( $(e.target).attr('id') == id){
close = false;
}else{
$(e.target).parents().each(function(){
if( $(this).attr('id') == id){
close = false;
}
});
}
if(close){
picker.hide();
}
});
Может можно как-то более оптимизированно?