当我按下h1标签时,我正在尝试更改
文本。这是我的HMTL代码:
<DOCTYPE HTML>
<html>
<head>
<title>Javascript</title>
</head>
<body>
<h1 id="tittel" title=“Når denne klikkes på, endres avsnittet”>Tittel </h1> <p id=”første” title=“Når denne klikkes på, sentreres tittelen”> Første avsnitt: original versjon.</p>
</body>
<script src="2103.js"></script>
</html>
和JS:
var h1 = document.getElementById("tittel");
var avsnitt = document.getElementById("første");
function changeText() {
avsnitt.innerHTML = "Første avsnitt: endret versjon";
}
h1.addEventListener("click", changeText());
答案 0 :(得分:1)
您需要将changeText
指定为回调,而不是在使用addEventListener
时调用它:
h1.addEventListener("click", changeText);
当您的代码到达changeText()
部分时,它将调用该函数,返回undefined
(因为该函数没有返回值),并且不会注册回调。
addEventListener
的工作方式是期望提供一个函数(作为参考或文字) - 但在这里你要给undefined
。
这就是上述原因的原因。它也可以使用函数文字:
h1.addEventListener("click", function() { changeText(); });