DOM事件探秘篇


Posted in Javascript onFebruary 15, 2017

1.事件流

时间流--- 描述的是从页面中接受事件的顺序。

(1)事件冒泡流。

事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档)。

(2)事件捕获流。

不太具体的节点应该更早接受到事件,而最具体的节点最后接受到事件。

2.JS事件探索

1.HTML事件处理程序 -- 直接写在html标签里面的js触发语句。

2.DOM0级事件处理程序。

把一个函数赋值给一个事件的处理程序属性,用的比较多的方法,简单,跨浏览器的优势。

3.DOM2级事件处理程序。

(1)用于处理制定和删除事件处理程序的操作。

addEventListener(处理的事件名,事件处理程序的函数,布尔值) removeEventListner()。

4.IE事件处理程序。

attachEvent(事件处理程序的名称,事件处理程序的函数) detachEvent()

不需要添加第三个参数:IE8以及更早的浏览器版本只支持事件冒泡。

var eventUtil = {
  addHandler:function(element,type,handler){
  if(element。addEventListener){
  element。addEventListener(type,handler,false); 
  }else if(element。attachEvent){
   element。attachEvent(‘on' + type,handler)  ;
  }else{
    element【‘on' + type】= handler;
  }
}
   removeHandler:function(element,type,handler){
   if(element。removeEventListner){
   element。removeEventListner(type,handler);
  }else if(element。detachEvent){
   element。detachEvent(‘on' + type,handler) ;
  }else{
   element【‘on' + type】 = handler ; 
  }
}
}

3.事件对象

在触发DOM上的事件时会产生一个对象,事件对象event。

(1)DOM中的事件对象。

1.type属性 用于获取事件类型。

2.target属性 用于获取事件目标。

3.stopPropagation()方法  用于阻止事件冒泡。

4.preventDefault()方法  阻止事件的默认行为。

(2)IE中的事件对象。

1.type属性 用于获取事件类型。

2.srcElement属性 用于获取事件的目标。

3.cancelBubble属性 用于阻止事件冒泡。 设置true 表示阻止冒泡   设置false 表示不阻止冒泡。

4.returnValue属性  用于阻止事件的默认行为。设置false表示阻止事件的默认行为。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
索趣科技的答案
Feb 07 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
Oct 22 Javascript
js时间日期格式化封装函数
Dec 02 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
Aug 11 Javascript
js原生跨域_用script标签的简单实现
Sep 24 Javascript
JS正则子匹配实例分析
Dec 22 Javascript
Javascript之深入浅出prototype
Feb 06 Javascript
BackBone及其实例探究_动力节点Java学院整理
Jul 14 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
详解node Async/Await 更好的异步编程解决方案
May 10 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
Feb 15 #Javascript
js实现滑动到页面底部自动加载更多功能
Feb 15 #Javascript
JS 实现随机验证码功能
Feb 15 #Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 #Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 #Javascript
javascript中apply/call和bind的使用
Feb 15 #Javascript
JS实现图片放大缩小的方法
Feb 15 #Javascript
You might like
php横向重复区域显示二法
2008/09/25 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python实现下载整个ftp目录的方法
2017/01/17 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
暑假实习求职信范文
2013/09/22 职场文书
自荐书模板
2013/12/15 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
个人投资计划书
2014/05/01 职场文书
产品包装策划方案
2014/05/18 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
通用员工手册范本
2015/05/14 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫