Javascript错误:元素为null
这是我所有的代码。。。内联JavaScript警报发出得很好,但外部警报没有发出。每当我重新加载页面时,我都会收到一个控制台错误日志,上面写着“TypeError:tileBlock为null”。。有什么想法吗?我还没有遇到这个问题,我不想被迫内联编写所有Javascript事件处理程序。谢谢Javascript错误:元素为null,javascript,console,Javascript,Console,这是我所有的代码。。。内联JavaScript警报发出得很好,但外部警报没有发出。每当我重新加载页面时,我都会收到一个控制台错误日志,上面写着“TypeError:tileBlock为null”。。有什么想法吗?我还没有遇到这个问题,我不想被迫内联编写所有Javascript事件处理程序。谢谢 #tileBlock { position: fixed; top: 0; right: 0; bottom: 0; left: 0
#tileBlock {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #0b0b0b;
background-position: center;
background-repeat: no-repeat;
background-image: url(photo.jpg);
border: 20px solid #fff;
background-size: cover;
}
@media (max-width: 400px) {
#tileBlock {
border-width: 8px;
}
}
<body>
<div class="wrapper" id="tileBlock" onclick="alert('You clicked (inline)')"></div>
</body>
var tileBlock = document.getElementById('tileBlock');
tileBlock.onclick = function() {
alert('you clicked(external script)');
}
#tileBlock{
位置:固定;
排名:0;
右:0;
底部:0;
左:0;
背景色:#0b0b0b;
背景位置:中心;
背景重复:无重复;
背景图片:url(photo.jpg);
边框:20px实心#fff;
背景尺寸:封面;
}
@介质(最大宽度:400px){
#瓷砖砖{
边框宽度:8px;
}
}
var tileBlock=document.getElementById('tileBlock');
tileBlock.onclick=函数(){
警报(“您单击了(外部脚本)”;
}
包括jquery库并尝试以下操作:
$('#tileBlock').onclick(function(){
alert('you clicked(external script)');
});
我也试过你的代码,它也能用。(不是我的jquery)
试试这个:我只需要一个窗口。加载。。。谢谢大家的帮助
window.onload=function(){
var tileBlock = document.getElementById('tileBlock');
tileBlock.onclick = function() {
alert('you clicked yes');
}
};
以前不需要窗口,因为它是保留的
onload=()=>{
let elem // etc..
elem.onclick=()=> // stuff ..
}
您的脚本应该在外部Javascript文件的标记中-无论如何,我在尝试将其放入脚本标记的同一文件中时得到了相同的结果。您缺少一个
窗口。onload
在页面加载后运行脚本非常感谢!我查看了您的JSFIDLE,它正在加载时调用脚本。我添加了window.onload,解决了这个问题。。。我确实尝试过你的JQuery,但这似乎并不简单或更有效,所以我想我会选择香草。。