[英]How to separate HTML and Javascript
我現在正在研究 JS。 我需要盡可能多地分離 HTML 和 JS。 這樣一切都在一個 HTML 和一個松散的 JS 文件中。 我如何分開這個:
<!DOCTYPE html>
<html>
<head>
<title>Inzendopgave 242S2 - F.W.J.C. de Graaff
<script async src="script.js"></script>
</title>
</head>
<body>
<h2>Inzendopgave 242S2 - F.W.J.C. de Graaff</h2><br/>
<p>Voer uw bedragen in:<br/></p>
<input type="text" id="invoer1">
<script>
//Maak een globale variabele:
const bedrag = document.getElementById("invoer1");
//Voeg er een event-listener aan toe:
bedrag.addEventListener("keyup", function(event) {
//Alleen triggeren als de Enter-toets wordt gedrukt:
if (event.key === "Enter") {
//Dan voer het volgende script uit:
//Maar een Block variabele en geef deze de waarde van de ingevoerde string:
let uitkomst = document.getElementById("afvoer2").innerHTML;
//Tel de invoer bij de uitkomst op en maak van de strings integers (getallen):
document.getElementById("afvoer2").innerHTML = parseInt(uitkomst) + parseInt(bedrag.value);
//Maak invoerveld weer leeg:
bedrag.value = "";
//Sluit alle nog openstaande regels/tags:
}
}
)
//Puntkomma om de event-listener te sluiten:
;
</script>
<h3>Uw ingevoerde totaal:</h3><br/>
<div id="afvoer2">0</div>
</body>
</html>
</code>
當我將所有內容放在腳本標簽中並將其保存到單獨的 js 文件中時,事件偵聽器不再工作......那么有可能將它分開嗎?
問候,--技術
將所有 Javascript 代碼放在單獨的myScriptFile.js
文件中。 在 HTML 中包含<body>
標簽末尾的腳本,如下所示:
<html>
<head></head>
<body>
<script src='/path/to/myScriptFile.js'></script>
</body>
</html>
當您使用內聯 javascript 時,文檔正在呈現,因此如果您通過腳本標記之前存在的 ID 引用元素,則該元素可能已經注冊,這就是您可以為其附加事件偵聽器的原因。 當您鏈接外部 javascript 文件時,它通常會在呈現文檔之前加載,因此該元素尚不存在。 要解決此問題,只需在文檔加載后運行將事件偵聽器附加到文檔元素的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.