Похоже, вы используете jQuery tools overlay . Глядя на методы событий, вам, вероятно, нужно связать onBeforeClose
вместо onClose
onBeforeClose
до закрытия наложения
onClose
когда наложение закрыто
Не уверен, что это будет работать с плагином, но может быть началом для некоторого псевдокода.
$('.trigger[rel]').overlay(
{
close: '.ovclosebutton',
onBeforeClose: function()
{
if( validateSomething() )
return true; //let the overlay close by default.
else{
displayErrorInOverlayButDontCloseIt();
return false; //block the close
}
}
});
Глядя на ссылку на событие , вы сможете отменить закрытие, используя onBeforeClose
До и после событий Эти инструменты
предоставить как событие onBefore, которое
происходит до того, как предпринято какое-либо действие и
событие, которое происходит во время
(или после) действие имеет место. Вы
может иметь пользовательские функции, связанные с
эти события. Все инструменты предоставляют такие
события, и они имеют общее название
политика. Событие onBefore обеспечивает
вы с возможностью отмены
действие.