[英]Uncaught RangeError: Maximum call stack size exceeded in jquery ajax call
[英]jQuery Uncaught RangeError: Maximum call stack size exceeded -Jquery
我遇到錯誤
未捕獲的RangeError:超出最大調用堆棧大小
我的jQuery函數:
$('td').click(function () {
if ($(this).context.id != null && $(this).context.id != '') {
foo($('#docId').val(), $(this).attr('id'));
}
return false;
});
頁面中有成千上萬個單元格。 但是,我通常將堆棧溢出與遞歸相關聯,在這種情況下,據我所知沒有。
創建像這樣的lambda是否會自動在堆棧上產生大量負載? 有什么辦法嗎?
如果您的頁面上確實有(需要?)數千個td
,我想它將減輕為單個祖先元素添加一個單擊偵聽器而不是為每個td
添加一個單擊偵聽器的計算量。 例如:
$('table').on('click', 'td', function () {
var $tabledata = $(ev.target).closest('td');
if ($tabledata.context.id != null && $tabledata.context.id != '') {
foo($('#docId').val(), $tabledata.attr('id'));
}
return false;
});
我認為這將減輕添加處理程序時的負擔,但可能不會減輕它們觸發時的負擔。 如果您還有其他導致錯誤的問題(例如在foo
方法中),我們將需要查看代碼來清除這些錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.