從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函數關閉框?
謝謝