javascript - jquery .on 获取未捕获的 RangeError : Maximum call stack size exceeded

标签 javascript jquery

我几乎阅读了关于

的所有 SO 问题

Uncaught RangeError: Maximum call stack size exceeded.

但对我不起作用。

我的问题是我在加载后更改了一些 div 文本,这对我有用。但是,控制台显示 Uncaught RangeError 错误。 这是我的 JS:

<script type="text/javascript">
            $('#report-error').on("DOMNodeInserted DOMCharacterDataModified" ,function(){
                $('#report-error').text("error happened");

            });           
 </script>

这是应用 jquery 后我的 HTML:

<div id="report-error" class="report-div error" 
style="display: block;">error happened
</div>

如有任何帮助,我们将不胜感激。

最佳答案

发生错误是因为当您运行 jQuery 方法 .text() 时触发了 DOMNodeInserted 事件,因为此方法将文本节点插入到容器中。

简而言之 - 处理程序将调用它自己的事件...

您可以使用 one 解决它而不是 on,但副作用取决于您的其余逻辑。

$('#report-error').one("DOMNodeInserted" ,function(){
    $('#report-error').text("error happened");
});

关于javascript - jquery .on 获取未捕获的 RangeError : Maximum call stack size exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421365/

相关文章:

IE10 兼容性 View 和 IE9 中的 jQuery 对话框小部件问题

jquery - Cordova 混合应用程序与 Siteminder protected REST 资源集成

javascript - 如何创建为 ng-options 提供值的指令?

javascript - 在 Javascript 中获取相邻元素的 ID

javascript - Webpack:需要 ('index.html' )与仅复制 index.html

javascript - 单击其他显示/隐藏 div 按钮时关闭事件 div

javascript - jquery 检测小键盘按键值

javascript - 通过 Javascript 隐藏 DataList 中除第一个元素以外的所有元素

javascript - Ajax请求响应401 post方法

当用户点击按钮时Javascript设置输入值