如何有条件地关闭jQuery覆盖?
我为jQuery覆盖提供了一个自定义关闭按钮。如何有条件地关闭jQuery覆盖?,jquery,callback,overlay,conditional,Jquery,Callback,Overlay,Conditional,我为jQuery覆盖提供了一个自定义关闭按钮。 单击此按钮时,我希望验证覆盖中的表单,并在且仅当表单有效时关闭覆盖 示例(不起作用…无论发生什么情况,始终关闭) 我怎样才能做到这一点呢?你需要知道的一切都可以在这里找到 您似乎正在使用。查看您可能需要将onBeforeClose而不是onClose onBeforeClose在覆盖关闭之前 当覆盖关闭时,onClose 不确定这是否适用于插件,但可能是一些伪代码的开始 $('.trigger[rel]').overlay( { close:
单击此按钮时,我希望验证覆盖中的表单,并在且仅当表单有效时关闭覆盖 示例(不起作用…无论发生什么情况,始终关闭)
我怎样才能做到这一点呢?你需要知道的一切都可以在这里找到 您似乎正在使用。查看您可能需要将
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事件和
在执行某些操作之前发生,并且
此时发生的on事件
(或在)行动发生后。你
可以将自定义功能绑定到
这些事件。所有工具都提供了这样的功能
事件,它们共享一个共同的命名
政策。onBefore事件提供
你有取消的可能吗
行动
真的!关闭后立即触发
onClose
事件。请改用onBeforeClose
。谢谢!我的错误是没有从onBeforeClose函数返回任何内容。当我按照Mark&Akarun的建议对它进行修改时,它运行得非常完美。
$('.trigger[rel]').overlay(
{
close: '.ovclosebutton',
onBeforeClose: function()
{
if( validateSomething() )
return true; //let the overlay close by default.
else{
displayErrorInOverlayButDontCloseIt();
return false; //block the close
}
}
});