Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript错误:元素为null_Javascript_Console - Fatal编程技术网

Javascript错误:元素为null

Javascript错误:元素为null,javascript,console,Javascript,Console,这是我所有的代码。。。内联JavaScript警报发出得很好,但外部警报没有发出。每当我重新加载页面时,我都会收到一个控制台错误日志,上面写着“TypeError:tileBlock为null”。。有什么想法吗?我还没有遇到这个问题,我不想被迫内联编写所有Javascript事件处理程序。谢谢 #tileBlock { position: fixed; top: 0; right: 0; bottom: 0; left: 0

这是我所有的代码。。。内联JavaScript警报发出得很好,但外部警报没有发出。每当我重新加载页面时,我都会收到一个控制台错误日志,上面写着“TypeError:tileBlock为null”。。有什么想法吗?我还没有遇到这个问题,我不想被迫内联编写所有Javascript事件处理程序。谢谢

#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,但这似乎并不简单或更有效,所以我想我会选择香草。。