JS第十五章

一、事件流:

1.绑定事件:

想要给一个元素绑定事件,我们有两种方法:使用内联事件或事件监听器。在之前的课程中,我们一直使用的是内联事件来为元素绑定事件

案例见事件流.html


内联事件:.onclick

事件监听: .addEventListener('事件',function(){})



两种方法都能实现相同的效果,能成功的为按钮绑定了点击事件,但区别是使用addEventLitener可以无限制第为元素绑定事件,而内联事件后面的会覆盖前面的  案例见 事件流2.html



二、事件冒泡与事件捕获


用事件监听器为三个div元素绑定点击事件,最外层的div宽高是300px,中间的div宽高都是200px,最内层的div宽高都是100px,那么思考一下,点击最内层的div,事件会如何触发,是只触发最内层的div,还是从内到外依次触发,还是从外到内依次触发

案例见事件冒泡.html


通过上面的例子我们可以看到,事件是从最内层开始触发,然后依次向外,输出的顺序是div3-div2-div1。导致这种顺序的原因是因为:事件流有事件捕获阶段和事件冒泡阶段,事件捕获阶段是从最外层元素开始一层一层进入到事件目标(也就是我们点击的那个元素),到达事件目标后,进入事件冒泡阶段,事件从最内层流向最外层,事件默认情况下在冒泡阶段触发,所以我们看到的是先输出div3,最后输出div1。



我们也可以将事件设置为捕获阶段触发,

案例见事件捕获.html


只要在添加事件方法中添加第三个参数为true,事件就会在捕获阶段被触发,这样输出的顺序就变成了div1-div2-div3。但是在日常开发中,我们几乎不用做此修改,让事件在冒泡阶段触发就可以了。    


三、事件委托案例见事件委托


事件委托:可以简单第理解为将子集的事件委托给父级来处理


案例:网页中有两个按钮,他们的父级是一个div标签,现在我们希望给这两个按钮绑定事件,当我们点击按钮的时候输出按钮的文本内容,按照我们之前学过的知识



四、计时器

一次性定时器

                   setTimeOut(function(){

//1秒后执行

                   },1000)


停止一次性定时器:clearTimeout();


永久性定时器


                  setInterval(function(){

//1秒后执行,并且每隔一秒执行一次

                  },1000)

停止永久性定时器的方法:clearInterval();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 5,205评论 0 8
  • 1. 事件冒泡与事件捕获 事件冒泡和事件捕获分别由微软和网景公司提出,这两个概念都是为了解决页面中事件流(事件发生...
    cbw100阅读 7,655评论 0 8
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 5,532评论 2 10
  • Dom事件 事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信。DOM支持大量的事件 (一) Eve...
    woow_wu7阅读 5,762评论 0 1
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 5,055评论 0 6