我几乎阅读了所有关于 SO 的问题
未捕获范围错误:超出最大调用堆栈大小。
但没有为我工作。
我的问题是我在加载后正在更改一些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");
});