为什么事件监听器不能读取属性
Why event listener cannot read property?
我是JavaScript的新手,我正在尝试一些事件。这里的目标是单击一些文本并显示一条消息。我的html中有一个p
元素,像这样:
<p id="tab">Click me</p>
在.js文件中,我尝试了这个,没有发生任何事情。控制台告诉我:
未捕获类型错误:无法读取属性'addEventListener'的null
var demo=document.getElementById("tab");
demo.addEventListener("click", go);
function go(){
alert("Hey");
}
上面的代码位于一个单独的.js文件
您的脚本似乎工作良好。通过在元素中添加onload
处理程序或将其放在</body>
var demo = document.getElementById("tab");
demo.addEventListener("click", go);
function go() {
console.log("Hey");
}
<p id="tab">Click me</p>
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>
相关文章:
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 未捕获的类型错误:无法读取属性'删除'的未定义
- AngularJS指令出错-无法读取属性'编译'的未定义
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- 无法读取属性'材料'未定义的Three.js
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 未捕获的类型错误:无法读取属性'状态'在react中为null
- JavaScript承诺-无法读取属性'那么'的未定义
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 未捕获的类型错误:无法读取属性'中止'的未定义
- 角度推入数组给出:TypeError:无法读取属性'推'的未定义
- http/rxjs catch回调中的Angular 2重定向导致TypeError:无法读取属性'订阅'
- Javascript未捕获类型错误:无法读取属性'0'的未定义
- jQuery控制台错误:无法读取属性'top'的未定义
- TypeError:无法读取属性'findAll'的未定义