我正在为jQuery Overlay提供自定义关闭按钮 单击此按钮时,我想验证叠加层内的表单,并且当且仅当表单有效时才关闭叠加层。
示例(不起作用......无论如何总是关闭)
$('.trigger[rel]').overlay(
{
close: '.ovclosebutton',
onClose: function()
{
if( validateSomething() )
this.getOverlay().close();
else
displayErrorInOverlayButDontCloseIt();
}
});
我怎样才能实现这个目标?
答案 0 :(得分:5)
您似乎正在使用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
}
}
});
查看event refrence,您应该可以使用onBeforeClose
事件之前和之后这些工具 提供onBefore事件 在采取某些行动之前发生 当时发生的on事件 (或之后)采取行动。您 可以拥有绑定的自定义功能 这些事件。所有工具都提供这样的 事件和他们共享一个共同的命名 政策。 onBefore事件提供 你有可能取消 行动。
答案 1 :(得分:1)
您可以在此处找到所有您需要了解的信息