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 相关文章推荐
JavaScript的9个陷阱及评点分析
May 16 Javascript
javascript脚本调试方法小结
Nov 24 Javascript
javascript 写类方式之二
Jul 05 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
Feb 09 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
Angular.js中定时器循环的3种方法总结
Apr 27 Javascript
Angular 2父子组件之间共享服务通信的实现
Jul 04 Javascript
jQuery 改变P标签文本值方法
Feb 24 jQuery
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 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学习之数据类型之间的转换介绍
2011/06/09 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
PHP 设计模式系列之 specification规格模式
2016/01/10 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
js 上传图片预览问题
2010/12/06 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Flask框架各种常见装饰器示例
2018/07/17 Python
用Python shell简化开发
2018/08/08 Python
Python求离散序列导数的示例
2019/07/10 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python通过实例讲解反射机制
2019/10/17 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
学生期末评语大全
2014/04/30 职场文书
2014年医生工作总结
2014/11/21 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL