обычно все это делают так
function openPopup(e)
{
//показываем попап
}
function closePopup (e)
{
// скрываем поп-ап
$('body').off('click', closePopup);
}
$('button').on(
'click',
function (e)
{
e.preventDefault();
openPopup(e);
setTimeout(
function ()
{
$('body').on('click', closePopup)
}
);
return false;
}
);
setTimeout в данном случае приводит все реализации "всплытия" событий к единообразию. Он откладывает выполнение привязки закрытия события на время, когда событие закончится.
|