简体   繁体   English

另一个烦人的JavaScript点击事件问题

[英]Another annoying JavaScript click event issue

var Home = document.getElementById("home");
var Page = document.getElementById("page");

Home.onclick = function(){Page.innerHTML = "I TYPED A BUNCH OF HTML HERE";};

Why is this not working? 为什么这不起作用? Nothing happens to the div id="page" when I click the div id="home" element. 当我单击div id =“ home”元素时,div id =“ page”没有任何反应。

Note: This is plain Javascript linked between script tags in a .js document 注意:这是.js文档中脚本标签之间链接的纯Javascript

Edit: I tried using the Event Listener method. 编辑:我尝试使用事件侦听器方法。

Home.addEventListener("click", function(){Page.innerHTML = "

ALL THE HTML HERE

";
});

Still, nothing happens to the div id "page" when the div id "home" is clicked. 但是,当单击div ID“ home”时,div id“ page”没有任何反应。 Tried running in IE and Chrome. 尝试在IE和Chrome中运行。

See the below example it runs perfectly. 请参见下面的示例,它可以完美运行。

But remember the element should be loaded before the event listener is attached. 但是请记住,应该在附加事件侦听器之前加载该元素。

I would recommend you put the below code at the bottom of the page like after closing the body tag. 我建议您将以下代码放在页面底部,就像在关闭body标签之后一样。

Or calling the code on the document onload like so: 或者像这样在文档onload上调用代码:

document.addEventListener("load", function(){
    //ATTACH THE CLICK LISTENER HERE    
});

 var Home = document.getElementById("home"); Home.onclick = function(){ alert("click happened"); }; 
 <div id="home">This is the div with id home</div> 

This is plain Javascript linked between script tags in a .js document 这是.js文档中脚本标签之间链接的普通Javascript

If it is a .js document, there is no need of <script></script> tag. 如果它是.js文档,则不需要<script></script>标记。

Try the below code snippet: 试试下面的代码片段:

  var Home = document.getElementById("home"); var Page = document.getElementById("page"); Home.onclick = function(){ Page.innerHTML = "I TYPED A BUNCH OF HTML HERE"; }; 
  <div id="home"> Home </div> <div id="page"> </div> 

You should concatenate your text to the element's innerHTML instead of assigning. 您应该将文本连接到元素的innerHTML而不是分配。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM