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 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 Javascript
JavaScript继承定义与用法实践分析
May 28 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
three.js欧拉角和四元数的使用方法
Jul 26 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
实例解析Array和String方法
2016/12/14 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
python多任务及返回值的处理方法
2019/01/22 Python
实例讲解Python3中abs()函数
2019/02/19 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python中base64与xml取值结合问题
2019/12/22 Python
python遍历路径破解表单的示例
2020/11/21 Python
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
物流业务员岗位职责
2015/04/03 职场文书
企业安全生产检查制度
2015/08/06 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL