一、JavaScript事件是什么?

当用户与网页发生交互时,可以使用事件监听器来绑定事件,在事件发生时执行相应的代码。

事件分为:

1.浏览器事件:window.onload,window.scroll等。

2.http请求事件:ajax、websocket等。

3.用户操作事件:鼠标按下或松开、回车、页面滚动等。

4.计时器事件:setInterval,setTimeout。

二、JavaScript事件处理机制是什么?

事件处理一共有三个阶段,包括捕获、目标阶段、冒泡三个阶段,传播顺序为:

捕获:从document逐级向下传播到目标元素。由于IE低版本浏览器不支持,所以很少使用事件捕获;

目标阶段:事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发

冒泡:从下至上,从目标触发的元素逐级向上传播,直到window对象;

如图:

三、事件监听

对事件的监听常见的三种方法:

1.直接对DOM元素事件进行绑定:

"btn" onclick="go()" >

2.在JavaScript中对DOM元素进行事件绑定:

document.getElementById('btn').onclick=function(){};

3.利用监听函数addEventListener("事件名",callback,false):

第三个参数:true捕获阶段调用事件处理方法;false冒泡阶段调用事件处理方法。

document.getElementById('btn').addEventListener("click",function(){console.log('事件触发');});//解除事件,如果要移除事件句柄,addEventListener() 的执行函数必须使用外部函数。document.getElementById('btn').removeEventListener("click",callback);

注意:IE8不支持addEventListener和removeEventListener方法

实现了两个类似的方法:

attachEvent("事件名",callback);//事件处理程序名称

detachEvent("事件名",callback);//事件处理程序方法

四、阻止默认事件。

如果是直接对DOM进行绑定的事件,或者在JavaScript中对DOM进行绑定的事件,则直接return false;即可。

document.getElementById('btn').onclick=function(){  console.log('触发事件');  return false;};

如果是使用监听函数,则需要用到event.preventDefault();

function callback(e){  console.log('事件触发');  //阻止默认事件  if(e.preventDefault){    e.preventDefault();  }else{    e.returnValue = false;//IE8-  }  //默认冒泡事件  if(e.stopPropagation){    e.stopPropagation();  }else{    e.cancelBubble = true;//IE8-  }}document.getElementById('btn').addEventListener("click",callback);

addeventlistener事件第三个参数_JavaScript 事件与事件处理机制相关推荐

  1. addeventlistener事件第三个参数_简析JavaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序...

    这篇文章主要介绍了javaScript 事件绑定.事件冒泡.事件捕获和事件执行顺序整理总结的相关资料 (一)事件绑定的几种方式 javascript给DOM绑定事件处理函数总的来说有2种方式:在htm ...

  2. addeventlistener事件第三个参数 passive_JS DOM 事件流、事件冒泡

    当一个HTML元素触发一个事件时,该事件会在元素结点与根结点之间的路径传播.传播按顺序分为三个阶段:捕获阶段.目标阶段.冒泡阶段,这个传播过程就是 DOM 事件流. 事件冒泡就是当一个HTML元素出发 ...

  3. addEventListener 的第三个参数capture、once、passive

    做网页canvas手势绘制的时候,手机端页面会有抖动. 解决方案在手机端加个锁定的按钮.并用addEventListener 的passive属性来控制页面的滑动. var lockflag = fa ...

  4. addEventListener的第三个参数

    大家都知道 addEventListener 可以给对象添加事件监听.百度,w3school 对它的解释,有三个参数,语法格式如下: el.addEventListener(type, listene ...

  5. JavaScript 事件模型 事件处理机制

    这篇文章对于了解Javascript的事件处理机制非常好,将它全文转载于此,以备不时之需. 什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们 ...

  6. addListener添加事件监听器,第三个参数useCapture (Boolean) 的作用

    addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 "click"):第二个参数表示要接收事件处理的函数:第三个参数为 useCapture,本文 ...

  7. addEventListener()参数及事件汇总

    addEventListener() 方法用于给元素添加监听事件,同一个元素可以重复添加,并且不会覆盖之前相同事件,用removeEventListener() 方法来移除事件. 使用方法: elem ...

  8. addEventListener事件监听传递参数

    Flash as3 addEventListener事件监听传递参数 var sayHello:String = "how are you"; btn1.addEventListe ...

  9. Javascript事件模型系列(一)事件及事件的三种模型

    一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加 ...

最新文章

  1. php pthread 实例,php 真正的多线程 pthread
  2. vant图标怎么显示不出来_U盘插进电脑但不显示怎么解决
  3. 云计算公网质量评测方法和最佳实践
  4. vim 的配置文件 #vim ~/.vimrc
  5. 【PyTorch 】静态图与动态图机制
  6. Eclipse中如何更改工作空间(之前一直不知道,几天终于知道了!)。
  7. dell笔记本c语言系统,戴尔dell笔记本电脑U盘重装系统win7教程图解
  8. 机器学习傻瓜的深入研究
  9. 内核同步与互斥的总结
  10. 动态规划实战4-leetcode 5.Longest Palindromic Substring
  11. VS2019 OpenCL安装和快速入门
  12. Linux上mysql忘记密码重置密码
  13. ai人工智能开发_面向开发人员的十大人工智能(AI)工具
  14. Ubuntu18.04 安装花生壳并使用
  15. Window 打开新窗口的几种方式 window.location.href、window.open、window.showModalDialog
  16. SQL 修改表的常用命令
  17. Field eFaultPriorityService in com.ect.emes.admin.restapi.AlarmRestApi required a bean of type 解决方法
  18. DDL和DML的含义
  19. 转载:【SQL练习】经典SQL练习题
  20. 【精】LintCode领扣算法问题答案:1029. 寻找最便宜的航行旅途(最多经过k个中转站)

热门文章

  1. xaml 的 intellisense失效的解决办法
  2. 206.12.15随笔--最近内心的一些想法
  3. ios10 申请拍照权限_iOS10配置申请权限
  4. 服务器实现_Linux C Http 文件服务器实现(含源码)
  5. ros云服务器_减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
  6. 计算机音乐绅士教程,教你学唱薛之谦的《绅士》,这个技巧很实用值得收藏!...
  7. Linux下安装Nexus-3.15私服
  8. JavaScript权威指南笔记
  9. 进程间通信-字符串的传递
  10. javascript 停止事件冒泡以及阻止默认事件冒泡