所以我有一個帶有按鈕的 HTML 檔案,以及一個應該有一些功能的外部 js 檔案。但它不起作用。這是代碼:
HTML 完整代碼:
const btn = document.getElementById("play");
btn.addEventListener("click", alertMessage);
function alertMessage() {
alert("Pls tell me youre working...");
}
<html>
<body>
<div class="text-box">
<h1>BLOG</h1>
</div>
<div class="buttons">
<button id="play"> OK </button>
</div>
<script src="music-player/scripts/app.js"></script>
</body>
</html>
uj5u.com熱心網友回復:
因為那個 makeMaximum call stack size因為alert內部function不會參考默認的全域alert而是參考函式本身,它會進行無限遞回,所以您需要更改函式名稱。
const btn = document.getElementById("play");
btn.addEventListener("click", alertMessage);
function alertMessage()
{
alert("Pls tell me youre working...");
}
<div class= "buttons">
<button id="play"> OK </button>
</div>
<script src="music-player/scripts/app.js"></script>
如果您使用window.alert()并使用了函式運算式而不是函式宣告(它覆寫了全域警報),它將可以正常作業,但可以肯定的是最好更改function名稱以防止沖突。
顯示代碼片段
const alert = () =>
{
window.alert("Pls tell me youre working...");
}
const btn = document.getElementById("play");
btn.addEventListener("click", alert);
<div class= "buttons">
<button id="play"> OK </button>
</div>
<script src="music-player/scripts/app.js"></script>
uj5u.com熱心網友回復:
更新函式名稱:
const btn = document.getElementById("play");
btn.addEventListener("click", alertMessage);
function alertMessage() {
alert("Pls tell me youre working...");
}
<html>
<body>
<div class="text-box">
<h1>BLOG</h1>
</div>
<div class="buttons">
<button id="play"> OK </button>
</div>
<script src="music-player/scripts/app.js"></script>
</body>
</html>
uj5u.com熱心網友回復:
將函式的名稱從警報更改為其他名稱,或者您可以直接在按鈕標簽中添加onClick="function()"它自己
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/511248.html
