按钮 onclick="onclick()" 引发最大堆栈错误[重复]
2016-11-23
440
我正在使用原生 JavaScript,偶然发现了一些奇怪的事情,不知道为什么会发生这种情况。我有纯 html
按钮
。我所做的就是设置
onclick="onclick()"
。当我运行它并单击按钮时,我看到控制台中出现错误。
控制台:
未捕获的 RangeError:超出最大调用堆栈大小
我不知道为什么会出现这个错误。我第一次看到这个。即使我提供了
onclick
的定义,错误仍然存​​在。有人能知道为什么会发生这种情况吗?
console.log(window.onclick);//It logs null
<button onclick="onclick()">Hit me
</button>
2个回答
将
onclick
更改为其他内容
<button onclick="clickme()">Hit me
</button>
当您
click
按钮时,它将调用您的函数
onclick
,该函数将再次调用
onclick
事件,因此它是一个永无止境的循环。
Mairaj Ahmad
2016-11-23
您需要重命名 onclick() 函数名。因为它每次都会调用自身。
Anand Systematix
2016-11-23