首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在dice.js:5读取null的属性“”addEventListener“”

无法在dice.js:5读取null的属性“”addEventListener“”
EN

Stack Overflow用户
提问于 2017-03-15 17:52:47
回答 2查看 2.6K关注 0票数 0

我正在尝试实现一个函数,它将根据用户输入的数字在另一个div中创建新的div。我想使用addEventListener对输入执行此操作,并运行一个测试来检查它是否正常工作。但事实并非如此,我不知道我做错了什么。下面是我的HTML代码:

代码语言:javascript
复制
<form>
    <p>Pick how many dice you want to roll:</p>
    <input id="diceNumber" type="number" name="diceNumber">
</form>

和JS部分:

代码语言:javascript
复制
var numInput = document.querySelector("input");

numInput.addEventListener("change", function(){
alert("test");
});
EN

回答 2

Stack Overflow用户

发布于 2017-03-15 17:55:39

如何在html文档中包含javascript文件?您的JS代码可能在html加载之前执行。

票数 3
EN

Stack Overflow用户

发布于 2017-03-15 17:56:55

只有这两个片段很难回答。我的猜测是你有像这样的东西

代码语言:javascript
复制
<html>
<head>
<script>
var numInput = document.querySelector("input");

numInput.addEventListener("change", function(){
alert("test");
});
</script>
</head>
<body>
<form>
    <p>Pick how many dice you want to roll:</p>
    <input id="diceNumber" type="number" name="diceNumber">
</form>
</body>
</html>

在这种情况下,脚本将在dom加载之前执行,这就是代码无法找到输入的原因。

您要么必须等待dom准备就绪,要么将脚本块移动到输入定义之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42806231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档