1, window.onload 是窗口(页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像,脚本文件,css文件等),就调用的处理函数

下面的代码,当点击按钮,并不会弹出对话框,因为页面还没有加载到按钮元素,无法执行 js 点击事件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var btn=document.querySelector("button");
btn.onclick=function(){
alert("点击了");
}
</script>
</head>
<body>
<button>点击</button>
</body>
</html>

处理办法是:

window.onload = function() {
var btn = document.querySelector('button');
btn.addEventListener('click', function() {
alert('点击我');
})
}

2,window.onload传统注册事件方式,只能写一次,如果有多个,会以最后一个window.onload为准

下面的代码,页面一加载,就会弹出“22", 然后再点击按钮,不能执行点击事件,无法弹出”点击我“

 window.onload = function() {
var btn = document.querySelector('button');
btn.addEventListener('click', function() {
alert('点击我');
})
}
window.onload = function() {
alert();
}

解决方法:如果使用addEventListener 则没有限制

window.addEventListener('load' ,function(){
var btn=document.querySelector("button");
btn.onclick=function(){
alert("点击");
}
}) window.addEventListener('load' , function(){
alert("");
})

页面一加载,弹出”22“后,再点击按钮,又会弹出”点击“。

3,窗口加载事件:document.addEventListener( ' DOMContentLoaded ' ,  function(){})

DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等。(IE9以上才支持)

如果页面的图片很多的话,从用户访问到 onload触发可能需要较长的时间,交互效果就不能实现,必然影响用户体验,此时用DOMContentLoaded事件比较合适。

window常见事件onload的更多相关文章

  1. window常见事件

    <script type="text/javascript"> /*onunload = function(){ alert("onunload run&qu ...

  2. DOM笔记(五):JavaScript的常见事件和Ajax小结

    一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 on ...

  3. JavaScript的常见事件和Ajax小结

    一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 on ...

  4. 基于window.onerror事件 建立前端错误日志

    QA不是万能的,用户的浏览环境非常复杂,很多情况无法靠测试用例去覆盖,所以最好建立一个前端错误日志,在真实用户端收集bug. try&catch是一个捕获前端错误的常见方法,比如: { //给 ...

  5. JQuery 在$(window).load() 事件中 不运行 $(window).resize()

    本文转载至: http://stackoverflow.com/questions/2597152/jquery-window-resize-doesnt-work-on-load 原文标题   :J ...

  6. 【JavaScript】案例三:使用JS完成页面定时弹出广告——事件(onload)

     事件(onload) *注意点: 变量加var局部变量,不加var全局变量 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. 返回值:返回 ...

  7. [译]window.onerror事件

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  8. window.onresize事件在vue项目中的应用

    //vue页面<template> <div id='echart'> 报表 </div> </template> <script> exp ...

  9. window.onresize 事件笔记

     1.浏览器尺寸变化响应事件 : window.onresize = function(){....} 这里须要注意的是,onresize响应事件处理中.获取到的页面尺寸參数是变更后的參数. // ...

随机推荐

  1. linux安装提示权限 不足 ,原来是锁了

    lsattr     查看 然后就是chattr -i /etc    -i 是解锁 +i 就是上锁

  2. JVM----堆上为对象动态分配内存

    jvm中内存划分:   如上图,一共分为五块,其中: 线程共享区域为: 1.java堆 2.方法区   线程私有区域为: 3.JVM栈 4.本地方法栈 5.程序计数器          java技术体 ...

  3. LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )

    题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 输出: 解释: 给定 n = , 一共有 种不同结构的二叉搜索树: \ / / / \ \ / / ...

  4. 乌班图docker版本18.04升级到19.03

    # 关闭docker sudo systemctl stop docker # 卸载旧版本: sudo apt-get purge docker-ce # 安装新版本 sudo apt update ...

  5. TNS:could not resolve the connect identifier specified解决办法

    添加环境变量解决:TNS_ADMIN ->> D:\OracleDB\product\11.2.0\dbhome_1\NETWORK\ADMIN

  6. django路由的二级分发

    基于二级分发设计url路由 path('index/', views.index), path('index/', ([ path('test01/', test01), path('test02/' ...

  7. Spring MVC Post请求返回403错误,Get请求却正常,可能是安全框架引起的前端解决办法

    原文地址:http://blog.csdn.net/t894690230/article/details/52404105 困惑:很奇怪,明明在方法上面配置了RequestMethod.POST,PO ...

  8. 关于eval(data)和eval("("+data+")")

    如果data是字符串,使用eval("("+data+")")可以将其转换为json对象,和JSON.parse的功能一样.如果data是json对象,使用ev ...

  9. Struts2-Ajax整合之Jquery版本

    <纯JavaScript版本  http://www.cnblogs.com/hzb462606/p/8934787.html  > 大部门跟JavaScript版本一致,就是<sc ...

  10. 精通CSS:高级Web标准解决方案(第二版) 初读笔记

    2.1 常用的选择器 1. 类型选择器  p { color: black; } 2. 后代选择器  blockquote p { padding-left: 2em; } 3. ID选择器  #in ...