1

我阅读了几乎所有关于

未捕获的 RangeError:超出最大调用堆栈大小。

但不适合我。

我的问题是我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>

任何帮助,将不胜感激。

4

1 回答 1

4

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

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

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

$('#report-error').one("DOMNodeInserted" ,function(){
    $('#report-error').text("error happened");
});
于 2013-10-17T08:20:00.527 回答