2016-11-23 14 views
0

私はネイティブJavaScriptで遊んでいて、なぜこのようなことが起こっているのか分からない不思議なことに遭遇しました。私は普通のhtmlのbuttonを持っています。私がしたのはonclick="onclick()"です。私がそれを実行し、ボタンをクリックすると、コンソールにエラーがあることがわかります。Button onclick = "onclick()" throws最大スタックエラー

コンソール:

Uncaught RangeError: Maximum call stack size exceeded

このエラーが来ている理由を私は知りません。私はこれを初めて見ている。私がonclickの定義を提供しても、エラーも続く。誰がこれがなぜ起こっているのですか?何か他のもの

<button onclick="clickme()">Hit me 
</button> 

console.log(window.onclick);//It logs null
<button onclick="onclick()">Hit me 
 
</button>

+1

ボタンの 'onclick'を' onclick'関数でバインドします。ボタンをクリックすると、 'onclick'は自分自身を何度も繰り返し呼び出します。 –

+0

gotcha。ありがとう。 –

答えて

0

変更onclickclickボタン、それがループを終了することはありませんので、もう一度onclickイベントを呼び出しますあなたの機能onclickあなたを呼ぶとき。

0

onclick()関数名の名前を変更する必要があります。毎回その呼び名そのものとして。