简单的javascript eventlistener无效?

时间:2018-02-10 09:52:48

标签: javascript html

我真的不知道这里有什么问题。我很确定我也没有输错字。

var homeButton = document.getElementById("home");

homeButton.addEventListener("click", myFunction);

function myFunction() {
  alert('Hello');
}
<div id="nav">
  <a id="home" class="navbutton" href="#">Home</a>
  <a id="trending" class="navbutton" href="#">Trending</a>
  <a id="categories" class="navbutton" href="#">Categories</a>
  <a id="about" class="navbutton" href="#">About</a>
</div>

2 个答案:

答案 0 :(得分:0)

必须首先呈现文档的HTML,以便引用文档中的元素。因此,如果将JS放在文件的请求中,则不能使用getElementById或其他元素选择方法。因此,将所有脚本移到文档的底部。

答案 1 :(得分:-1)

这段代码应该是这样的。

window.onload=function(){
var homeButton = document.getElementById("home");
homeButton.addEventListener("click", myFunction);
}
function myFunction() {
  alert('Hello');
}
<div id="nav">
  <a id="home" class="navbutton" href="#">Home</a>
  <a id="trending" class="navbutton" href="#">Trending</a>
  <a id="categories" class="navbutton" href="#">Categories</a>
  <a id="about" class="navbutton" href="#">About</a>
</div>