Javascript addeventlistener不工作,事件未等待单击

Javascript addeventlistener不工作,事件未等待单击,javascript,html,button,addeventlistener,Javascript,Html,Button,Addeventlistener,我正在为一个网页做一个Javascript练习,我想要的是当我点击一个按钮时出现一行文本,问题是文本在我点击按钮之前出现。我所有的标签和ID都是正确的 document.getElementById("earth_time").setAttribute("hidden", true); ocument.getElementById("earth_time_check").addEventListener("onclick", earthTime()); function earthTime(){

我正在为一个网页做一个Javascript练习,我想要的是当我点击一个按钮时出现一行文本,问题是文本在我点击按钮之前出现。我所有的标签和ID都是正确的

document.getElementById("earth_time").setAttribute("hidden", true);
ocument.getElementById("earth_time_check").addEventListener("onclick", earthTime());
function earthTime(){
document.getElementById("earth_time").innerHTML = Date();
document.getElementById("earth_time").hidden = false;}

在我看来,你的代码很好,除非你在第二行代码上有印刷错误

document.getElementById("earth_time").setAttribute("hidden", true);
document.getElementById("earth_time_check").addEventListener("onclick", 
earthTime);

// define function earthTime
function earthTime(){
document.getElementById("earth_time").innerHTML = Date();
document.getElementById("earth_time").hidden = false;
}

在我看来,你的代码很好,除非你在第二行代码上有印刷错误

document.getElementById("earth_time").setAttribute("hidden", true);
document.getElementById("earth_time_check").addEventListener("onclick", 
earthTime);

// define function earthTime
function earthTime(){
document.getElementById("earth_time").innerHTML = Date();
document.getElementById("earth_time").hidden = false;
}

问题是,您试图将事件侦听器设置为调用
earthTime
函数的结果,但实际上它是
未定义的,因为您没有从中返回任何内容

设置事件侦听器的正确方法是:

document.getElementById("earth_time").setAttribute("hidden", true);
// earthTime is without calling brackets
document.getElementById("earth_time_check").addEventListener("onclick", earthTime);

function earthTime(){
  document.getElementById("earth_time").innerHTML = Date();
  document.getElementById("earth_time").hidden = false;
}

问题是,您试图将事件侦听器设置为调用
earthTime
函数的结果,但实际上它是
未定义的,因为您没有从中返回任何内容

设置事件侦听器的正确方法是:

document.getElementById("earth_time").setAttribute("hidden", true);
// earthTime is without calling brackets
document.getElementById("earth_time_check").addEventListener("onclick", earthTime);

function earthTime(){
  document.getElementById("earth_time").innerHTML = Date();
  document.getElementById("earth_time").hidden = false;
}

如果使用CSS而不是JS设置元素会发生什么?比如,将它设置为隐藏在CSS中,查看它是否隐藏,然后使用JS取消隐藏它?这可能会有助于解决问题。我想你在第二行中漏掉了一个字母“d”。它在代码中,我只是没有在问题中粘贴它。如果你使用CSS而不是JS设置元素会发生什么?比如,将它设置为隐藏在CSS中,查看它是否隐藏,然后使用JS取消隐藏它?我想你在第二行漏掉了一个字母“d”。它在代码中,我只是没有把它粘贴到问题中。其他遇到这个问题的用户看看地球时是如何被调用的,请注意,删除第3行的()是必需的。document.getElementById(“地球时间检查”).addEventListener(“onclick”,地球时间);对于遇到此问题的其他用户,请查看earthTime是如何调用的,请注意,需要删除第3行中的()。document.getElementById(“地球时间检查”).addEventListener(“onclick”,地球时间);