博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浏览器出现Cannot set property 'onclick' of null的问题
阅读量:5122 次
发布时间:2019-06-13

本文共 1475 字,大约阅读时间需要 4 分钟。

Part1:

当js文件放在head里面时,如果绑定了onclick事件,就会出现这样的错误,

是因为W3School的写法是浏览器先加载完按钮节点才执行的js,所以当浏览器自顶向下解析时,找不到onclick绑定的按钮节点,于是报错。

【1】因此,需要把js文件放在底部加载,就会避免该问题。

【2】在js代码外包一个window.onload = function(){} 即可解决问题

 代码如下:[注]:这里的代码只作为演示代码

1 16         
17
18 19 20 21 22 23 24 25
    26
  • 27
28
29
<30
>31
32
View Code

Part2:

那么问题来了window.onload = function(){}又是什么呢?

window.onload 的意思就是页面全部加载完成之后做一些事情,甚至包括图片。

Part3:

那么如果这个问题该怎么解决呢?

1 window.οnlοad=function(){ 2 var o=document.getElementById('infozone'); 3 window.setInterval(function(){scrollup(o,20,0);},3000); 4 } 5  6 window.onload = function(){ 7 var $ = function($){ 8 return document.getElementById($); 9 };10 11 window.onload = function(){12 var $1 = function($1){13 return document.getElementById($1);14 };

[问题]:页面只执行一个事件,另外两个不执行.

我们应该怎么改写能让这三个onload()都能加载到页面中?

[解决]:

1 window.οnlοad=function(){ 2     var o=document.getElementById('infozone'); 3     window.setInterval(function(){scrollup(o,20,0);},3000); 4  5  6     var $ = function($){ 7         return document.getElementById($); 8     } 9     var $1 = function($1){10         return document.getElementById($1);11     }12 }

 

转载于:https://www.cnblogs.com/TirL/p/8001202.html

你可能感兴趣的文章
第一个Java Web程序
查看>>
树状数组_一维
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
嵌入式软件设计第8次实验报告
查看>>
算法和数据结构(三)
查看>>
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>