我正在尝试删除我的 html 中的 onClick 标签,并将 EventListener 添加到我的外部 js 文件中,但似乎无法让它工作。
以下行有效:
<input type="text" name="text" id="test">
<input type="submit" name="send" value="Skicka" id="klick" onclick="skriv()">
当删除 onclick 并将以下内容添加到我的 javascript 时,它不会:
document.getElementById("klick").addEventListener("click", skriv);
function skriv() {
var input = document.getElementById("test").value;
alert("Hello" + " " + input);
}
整个 html:
<html>
<head>
<link rel="stylesheet" type="text/css" href="hello.css">
<title>
Multimedia
</title>
</head>
<body>
<script type="text/javascript" src="hello.js"></script>
<div>
<form>
<p>Skriv ditt namn:</p><br>
<input type="text" name="text" id="test">
<input type="submit" name="send" value="Skicka" id="klick">
</form>
<p class="lol">
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do"`enter code here`
</p>
</div>
</body>
</html>
最佳答案
您缺少 window.onload, checkout demo with separate script.js file
window.onload = function () {
var buttonElement = document.getElementById("klick");
var inputElement = document.getElementById('test');
if (buttonElement) {
buttonElement.addEventListener('click', skriv);
}
function skriv() {
var input = inputElement.value;
alert("Hello " + input);
}
}
关于Javascript - EventListener 在外部 js 文件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42341761/