从onClosed函数中,我想确定单击的元素的ID以关闭fancybox。我需要根据盒子的关闭方式提供不同的onClosed行为。在fancybox onClosed函数中,如何访问被点击的元素以关闭fancybox
假设我有我的fancybox内一个按钮,用户可以单击关闭对话框并转至注册页面:
<button id="user-register" onclick="parent.jQuery.fancybox.close();parent.location.href='/user/register';"><h3>Sign Up <strong>Now!</strong></h3></button>
而且在我的fancybox调用打开盒子,我有一个的OnClose功能通常重载父:
'onClosed': function() {
/*mytest = $('#fancybox-content iframe').contents().find('#user-register');
console.log(mytest);*/
if ($('body').hasClass('not-logged-in')) {
parent.location.reload(true);
}
}
重载父的原因是因为在某些情况下,用户将登录到的fancybox里面,我希望家长反映用户已登录,但在案件用户点击注册按钮,我做n不希望父母重新加载,因为那么用户不会被发送到/ user/register。你可以看到,在我的onClosed函数中,我试图在注释掉的代码中找到一种方式来访问#用户注册的按钮。我希望它的长度在onClosed函数中不会为零,当它被点击来关闭方框时,但实际上它的长度在此上下文中始终为零,大概是因为当onClosed函数已经关闭时运行。我也尝试检查onClosed函数中可用的参数变量,但它指向打开框的元素,而不是关闭它的元素。
我也尝试传递一个参数给close()函数,看看它是否可以在onClosed函数中使用 - 例如close('user-register')。虽然这个参数似乎不可用。
任何想法如何知道如何从onClosed函数关闭框?
谢谢