[英]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.