首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Chrome/jQuery未捕获RangeError:超出了最大调用堆栈大小

Chrome/jQuery未捕获RangeError:超出了最大调用堆栈大小
EN

Stack Overflow用户
提问于 2011-10-05 16:48:07
回答 5查看 330.1K关注 0票数 120

我在chrome上收到错误消息“未捕获RangeError:超出了最大调用堆栈大小”。下面是我的jQuery函数

代码语言:javascript
复制
$('td').click(function () {
        if ($(this).context.id != null && $(this).context.id != '') {
            foo($('#docId').val(), $(this).attr('id'));
        }
        return false;
    });

请注意,页面中有数万个单元格。然而,我通常将堆栈溢出与递归联系在一起,在这种情况下,就我所见,没有一个堆栈溢出。

创建像这样的lambda会自动在堆栈上生成大量的东西吗?有什么办法可以绕过它吗?

目前,我唯一的解决办法是在呈现HTML时显式地在每个单元格上生成onclick事件,这会使HTML变得更大。

EN

回答 5

Stack Overflow用户

发布于 2013-12-29 04:18:41

当你有一个无限循环时,你也会得到这个错误。确保你没有任何无休止的、递归的自我引用。

票数 38
EN

Stack Overflow用户

发布于 2015-06-18 06:33:07

我的更多的是一个错误,发生的是循环点击(我猜),基本上是通过点击登录,父级也被点击了,这最终导致超过了最大调用堆栈大小。

代码语言:javascript
复制
$('.clickhere').click(function(){
   $('.login').click();
});

<li class="clickhere">
  <a href="#" class="login">login</a>
</li>
票数 7
EN

Stack Overflow用户

发布于 2013-04-13 06:35:55

当我在一个带有许多其他jQUery插件的网站中使用jQuery Fancybox时,这个问题就发生在我身上。当我使用LightBox (site here)而不是Fancybox时,这个问题就解决了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7658775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档