为什么事件监听器无法读取属性?

时间:2015-10-18 15:10:40

标签: javascript html javascript-events event-handling

我是Javacript的新人,我正在尝试一些活动。这里的目标是点击一些文字并显示一个消息。我的html中有一个p元素,如下所示:

<p id="tab">Click me</p>

在.js文件中我试过这个并没有发生任何事情。控制台对我大喊:“Uncaught TypeError:无法读取属性'addEventListener'的null”。

var demo=document.getElementById("tab");

demo.addEventListener("click", go);

function go(){
	alert("Hey");
}

上面的代码位于单独的.js文件中

2 个答案:

答案 0 :(得分:2)

您的脚本似乎运行正常。确保在创建元素后运行onload处理程序,或者将其放在</body>之前

&#13;
&#13;
var demo = document.getElementById("tab");

demo.addEventListener("click", go);

function go() {
  console.log("Hey");
}
&#13;
<p id="tab">Click me</p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

Code shown below works in IE, Chrome and FireFox - I didn't test this in  
any other browser.
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
    function InitPage() {
        var demo = document.getElementById("tab");
        demo.addEventListener("click", go);
        function go() {
            console.log("Hey");
        }
    }
</script>
</head>
<body onload="InitPage();">
    <p id="tab">Click me</p>
</body>
</html>