На странице может быть куча элементов открытых, за каждым надо следить если кликнули мимо.
вот что я сделал, конечно работает но это ужасный способ:
masClos=new Array();
$(document).click( function(event){
var txt='';
for(var idC in masClos){
txt+='idC='+idC+'\n';
if( $(event.target).closest(masClos[idC][0]).length )
continue;
$(masClos[idC][1]).hide();
delete masClos[idC];
}
alert(txt);
event.stopPropagation();
});
function closeT(idif,idcl){
if(!idcl) idcl=idif;
masClos.push([idif,idcl]);
}
<input type="text" name="adds_n_p" id="adds_n_p" value="Введите имя"
onfocus="closeT('#pseClose','#add_str')">
ужасный потому что
1)нет проверки на повторный вызов, можно кликать и всё время будет добавляться массив
2)даже если нажать один раз и потом кликнуть вне элемента, alert(txt); выдаёт
idC=0
idC=1 // - откуда второй взялся я не понял
В общем подскажите способ, в идеале вообще бы $(document).click убрать если не открыто ни одно окно которое нужно закрыть при промыхе