在调用$.colorbox.resize();
. 我已将问题缩小到该方法,没有它一切运行良好,尽管模态的大小错误。
Uncaught RangeError: Maximum call stack size exceeded
d.extend.type
d.extend.makeArray
d.fn.d.init
d
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
g.plugins.fn.clone
a.each.a.fn.(anonymous function)
...
我只是在浏览器的控制台中创建了一些动态颜色框,而不是通过我通常的事件处理程序和方法运行。每次我尝试使用$.colorbox.resize()
这些动态颜色框时,都会出现堆栈溢出。这让我认为该错误与显示和准备颜色框的任何自定义代码无关。
我正在使用 jQuery 1.5.2。
为什么会发生堆栈溢出,我该如何防止它发生?
更新
还有一些用于我的控制流的伪代码:
mouseClickHandler = function()
{
async_method_1(function()
{
someMethod1()
})
}
someMethod1 = function()
{
async_method_2(function()
{
someMethod2()
})
}
someMethod2 = function()
{
$.colorbox.resize();
}
更新 2
正如我之前提到的,除了上面的代码之外,在控制台中创建颜色框也会导致堆栈溢出。例如,如果我在浏览器的控制台中输入以下两行,我仍然会得到溢出。
$.colorbox({html:'<h1>hello world</h1>'})
$.colorbox.resize()