在調用$.colorbox.resize();
後,我在Firefox和Chrome(以及其他所有內容)中出現堆棧溢出。我已經將問題縮小到了該方法,沒有它,一切運行良好,儘管模式是錯誤的大小。
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。
爲什麼堆棧溢出發生,我怎樣才能防止它發生?
UPDATE
而且我的控制流一點點僞代碼:
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()
它是如何在上下文中使用的?一些代碼示例? –
@KyleMacey我添加了一些僞代碼,顯示堆棧以及如何調用該方法。爲了理智的緣故,它被剝離了一些,但是調用'$ .colorbox.resize'時堆棧中的所有方法都存在。 – Jeff