2016-11-23 61 views
0

我正在玩本地JavaScript,並偶然發現一些奇怪的東西不知道爲什麼會發生這種情況。我有普通的html button。我所做的是,設置onclick="onclick()"。當我運行它並單擊按鈕時,我發現控制檯中存在錯誤。按鈕onclick =「onclick()」拋出最大堆棧錯誤

控制檯:

Uncaught RangeError: Maximum call stack size exceeded

我不知道爲什麼這個錯誤即將到來。我第一次看到這個。即使我提供了onclick的定義,那麼錯誤仍然存​​在。任何人都可以爲什麼會發生這種情況?

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

+1

將按鈕的onclick與onclick函數綁定。當你點擊這個按鈕時,'onclick'一次又一次地調用 –

+0

。謝謝。 –

回答

0

變化onclick別的東西

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

當你click按鈕,它會調用你的函數onclick這將再次調用onclick事件,因此它永無止境的循環。

0

您需要重命名onclick()函數名稱。正如它每次都在呼喚自己。