2018-05-28

一、事件流: 1.绑定事件: 想要给一个元素绑定事件,我们有两种方法:使用内联事件或事件监听器。在之前的课程中,我们一直使用的是内联事件来为元素绑定事件 内联事件:.onclick 事件监听: .addEventListener('事件',function(){}) 两种方法都能实现相同的效果,能成功的为按钮绑定了点击事件,但区别是使用addEventLitener可以无限制第为元素绑定事件,而内联事件后面的会覆盖前面的 案例见 事件流2.html 二、事件冒泡与事件捕获 用事件监听器为三个div元素绑定点击事件,最外层的div宽高是300px,中间的div宽高都是200px,最内层的div宽高都是100px,那么思考一下,点击最内层的div,事件会如何触发,是只触发最内层的div,还是从内到外依次触发,还是从外到内依次触发 通过上面的例子我们可以看到,事件是从最内层开始触发,然后依次向外,输出的顺序是div3-div2-div1。导致这种顺序的原因是因为:事件流有事件捕获阶段和事件冒泡阶段,事件捕获阶段是从最外层元素开始一层一层进入到事件目标(也就是我们点击的那个元素),到达事件目标后,进入事件冒泡阶段,事件从最内层流向最外层,事件默认情况下在冒泡阶段触发,所以我们看到的是先输出div3,最后输出div1。 我们也可以将事件设置为捕获阶段触发, 只要在添加事件方法中添加第三个参数为true,事件就会在捕获阶段被触发,这样输出的顺序就变成了div1-div2-div3。但是在日常开发中,我们几乎不用做此修改,让事件在冒泡阶段触发就可以了。 三、事件委托 事件委托:可以简单第理解为将子集的事件委托给父级来处 四、计时器 一次性定时器 setTimeOut(function(){ //1秒后执行 },1000) 停止一次性定时器:clearTimeout(); 永久性定时器 setInterval(function(){ //1秒后执行,并且每隔一秒执行一次 },1000) 停止永久性定时器的方法:clearInterval(); 作者:红尘丶喵喵 链接:https://www.jianshu.com/p/f2e21d99ead7 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

推荐阅读更多精彩内容

  • 一、JDK提供的比较器: 在Arrays 类中,提供了sort方法。 sort(Object[] os); 1.如...
    fe0180bd6eaf阅读 272评论 0 2
  • 一、事件流: 1.绑定事件: 想要给一个元素绑定事件,我们有两种方法:使用...
    萧声断未央阅读 157评论 0 0
  • 1.系统主界面制作效果 2.实现MDI主界面的主要步骤1)将主窗体名称改为MDI窗口示例2)添加menuStrip...
    公主抱的抱抱阅读 191评论 0 1
  • DOM元素、改变背景颜色、导航条、购物车、万年历、图片切换、树形列表 2018-05-26 09:09 · 字数 ...
    _z王箭阅读 272评论 0 1
  • 自从去年见完面至今也有一年多没有遇见、相逢,但,心中总牵挂着那段温情……难道喜欢一个人真的是每天都会牵挂着对方...
    芯有林夕阅读 11,581评论 0 4