on事件
 function fn1(){alert(1)};function fn2(){alert(2)};
document.onclick=fn1();
document.onclick=fn2(); 

只会弹出2
- 使用on事件,给标签加多个事件的时候后面的会覆盖前面的。

 function fn1(){alert(1)};function fn2(){alert(2)};document.addEventListener('onclick',fn1()); //1        document.addEventListener('onclick',fn2()); //2

.addEvent事件监听可以给一个标签添加多个事件,并且之前的不会被覆盖掉
- addevent里面可以传递三个参数:
* 1.addevent 里面的参数,第一个是传入对应的事件的类型(注意不要加on)
* 2.addevent 第二个参数,就是函数的回调
* 3.bool类型取值,如果是false(默认就是),事件的触发机制就会按照冒泡(从下往上),如果是true,就会按照事件捕获,从上往下
例如:

  <style>.div1{width: 300px;height: 300px;background: red;margin: 100px auto;  }.div2{width: 200px;height: 200px;background: blue;  }.div3{width: 100px;height: 100px;background: green;}</style><script>window.onload=function(){div1.addEventListener("click",function(){alert(1);} ,false);div1.addEventListener("click",function(){alert(2)} ,true);div3.addEventListener("click",function(){alert(3)} ,false);}</script>
</head>
<body>
<div class="div1"><div class="div2"><div class="div3"></div></div>
</div>
</body>

给div1,div3 添加点击事件,依次弹出2,3,1

 1. div1.addEventListener("click",function(){alert(1);} ,false);2. div1.addEventListener("click",function(){alert(2)} ,true);3.div3.addEventListener("click",function(){alert(3)} ,false);

分析代码:从上往上看代码,点击div1, 有一个事件进来,为false所以没反映,不会弹;第二段代码中为true,div1捕获到事件弹出2;第三段代码,false同样没反应。 事件出去触发第三段代码,弹出3;接着往上走,走到第一段代码弹出1

  • false:冒泡,就是如果有一个出去的事件触发了你,你就去执行这个函数
  • true: 捕获,如果有一个进来的事件触发了你,你就去执行这个函数

on事件和addevent事件的区别相关推荐

  1. IE和DOM事件流、普通事件和绑定事件的区别

    IE和DOM事件流的区别 IE采用冒泡型事件 Netscape(网络信息浏览器)使用捕获型事件 DOM使用先捕获后冒泡型事件 示例: <body> <div> <butt ...

  2. 你知道socket.io中connect事件和connection事件的区别吗?

    server端的socket.io中有两个连接事件.一个是.on('connect'),一个是.on('connection'). 官网上没有对这两个事件的区别进行解释. 那么这两个事件有什么区别呢? ...

  3. onchange事件与onpropertychange事件的区别

    onchange事件与onpropertychange事件的区别 1.onchange事件与onpropertychange事件的区别:onchange事件在内容改变(两次内容有可能还是相等的)且失去 ...

  4. jQuery学习(一)—jQuery应用步骤以及ready事件和load事件的区别

    jQuery应用步骤以及ready事件和load事件的区别 一.jQuery应用步骤 第一步:利用script标签的src属性引入jQuery文档 第二步:创建一个script标签,在该script下 ...

  5. 事件冒泡 vs 事件捕获 vs 事件委托 的区别

    事件冒泡 vs 事件捕获 vs 事件委托 本主要用于理解这JS的这三种事件的专业术语所表述的意义: 在学校,听老师讲解事件冒泡和事件捕获机制的时候跟听天书一样,只依稀记得IE使用的是事件冒泡,其他浏览 ...

  6. 移动端touch事件和click事件的区别

    移动端touch事件和click事件的区别 1.touch事件 以下是四种touch事件 touchstart:     //手指放到屏幕上时触发 touchmove:      //手指在屏幕上滑动 ...

  7. input事件和change事件的区别

    今天在监听<input>输入框的内容变化时监听的是change事件,本意是希望输入框内容一发生变化就执行事件监听方法,但是在运行时却发现我在输入框中输入了内容,但是监听事件并没有执行,改用 ...

  8. input元素的oninput事件和onchange事件的使用和区别

    1.input元素上绑定事件的三种方式: 第一种:直接在元素标签上添加oninput属性,属性值为处理事件函数的调用 html代码: <input type="text" i ...

  9. 微信小程序从入坑到放弃二十九:一个小场景搞懂冒泡事件bindtap和catchtap的区别

    摘要: 在微信小程序中,bindtap事件会产生冒泡,若不加以拦截,会一直冒泡到顶端.在某些情况下,一次点击会触发若干点击事件.为了防止冒泡,使用catchtap即可解决问题.在有全屏半透明背景的弹出 ...

最新文章

  1. 超越EfficientNet!MutualNet:一种自适应相互学习网络宽度和分辨率的网络
  2. Nature Neuroscience|群际冲突的脑间同步机制
  3. python批量读取根目录下文件内容并保存
  4. Apache Spark学习:利用Scala语言开发Spark应用程序
  5. php 上传根目录不存在,Linux 下 ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建...
  6. ubuntu 安装deb程序文件失败的解决方法
  7. Mybatis源码解析:sql参数处理(2)
  8. linux的qt5.5,Qt 5.5 正式发布,完全支持 Windows 10
  9. mysql.sys用户权限_MySQL用户及权限小结
  10. Zabbix 5.0 下载安装和中文乱码处理
  11. 23. Yii 组件事件
  12. Windows API一日一练(60)CreateIoCompletionPort和GetQueuedCompletionStatus函数
  13. oracle 启动 08103,数据库打开遭遇ORA-08103故障处理
  14. 【Ubuntu16.04】下载、安装与启动神通数据库(保姆式教程)
  15. centos7上安装Crucible教程及出现问题的解决
  16. 短语匹配-match_phrase以及slop参数
  17. 附加类型”XXXX“的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 “Attach“ 方法或者将实体的状态设置为 “Unchanged“ 或 “Modified“
  18. 华为nova7se怎么看云相册_华为nova7如何开启云空间
  19. 三行代码搭建一个全能书籍系统(wiki)
  20. QT项目设计:基于Linux系统的车载系统,地图、音视频播放、天气显示、优美界面 详细教程

热门文章

  1. RailWay免费容器托管平台
  2. HTTP报500错误的原因
  3. 代餐行业鱼龙混杂暴利驱动微商形成产业链
  4. Analyzing Neural Time Series Data 读书笔记6
  5. 世界星载SAR发展10——RADAR1(1997,美国)
  6. 浅谈自适应网站的设计
  7. web 机动车车牌录入组件
  8. 羊皮卷的故事-第五章
  9. protel 99se :format %x invalid or incompatible with argument
  10. C语言判断三角形为等边三角形、等腰三角形、直角三角形、普通三角形或不构成三角形