我几乎阅读了所有关于
的问题未捕获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>
任何帮助将不胜感激。
答案 0 :(得分:4)
发生错误是因为运行jQuery方法DOMNodeInserted
时会触发.text()
事件,因为此方法会将文本节点插入容器中。
简而言之 - 处理程序将调用它自己的事件......
您可以使用one
代替on
来解决此问题,但副作用取决于您的其余逻辑。
$('#report-error').one("DOMNodeInserted" ,function(){
$('#report-error').text("error happened");
});