看來,當我添加afterClose回調看中了我的箱子我得到這個錯誤:的fancybox遞歸錯誤
Uncaught RangeError: Maximum call stack size exceeded
這是我使用的代碼:
$("a.termsLink").fancybox({
type : 'iframe',
fitToView : false,
width : 450,
height : 600,
afterClose : function(){
$('#regForm').click();
}
});
是什麼應該發生的是當termsLink框關閉時,regForm應該打開。我用不同的回調函數來驗證,但我遇到的問題似乎不受此影響。
的解決問題的方法如下:
afterClose : function(){
setTimeout(function(){$('#regForm').click();}, 1);
}
但是,這種感覺就像一個非常哈克方法對我來說,這個問題似乎是在的fancybox代碼改掉調用新的箱子,同時動畫的其他的盒子仍然在運行,這會導致這個問題。這是FancyBox記錄的問題嗎?或者這是jQuery動畫事件工作方式的一個函數?這個問題有沒有更優雅的解決方案?
我敢打賭是你有兩個庫的加載。 – Ohgodwhy 2012-03-28 22:07:01
這絕對不是這種情況,我已經證實了這一點。這是這個錯誤出現的唯一地方 – Xenology 2012-03-28 22:10:18
'#regForm'是什麼?一個'div'標籤或一個'form'標籤? ...點擊它的想法是什麼? ...你想要做的是在關閉後將訪問者重定向到該元素? ...就像' JFK 2012-03-29 02:42:05