看来,当我添加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