foo*_*.ar -1 jquery conditional overlay callback
我正在为jQuery Overlay提供自定义关闭按钮.
单击此按钮时,我想验证Overlay中的表单,并且当且仅当表单有效时才关闭Overlay .
示例(不起作用......总是关闭,无论如何)
$('.trigger[rel]').overlay(
{
close: '.ovclosebutton',
onClose: function()
{
if( validateSomething() )
this.getOverlay().close();
else
displayErrorInOverlayButDontCloseIt();
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何实现这一目标?
看来你正在使用jQuery工具覆盖.查看事件方法,您可能需要绑定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
}
}
});
Run Code Online (Sandbox Code Playgroud)
查看事件参考,你应该可以取消关闭使用onBeforeClose
事件之前和之后这些工具既提供在执行某些操作之前发生的onBefore事件,也提供在执行操作时(或之后)发生的on事件.您可以拥有绑定到这些事件的自定义功能.所有工具都提供此类事件,并且它们共享一个共同的命名策略.onBefore事件为您提供取消操作的可能性.