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中万恶的function实例分析
May 25 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 Javascript
JavaScript常用标签和方法总结
Sep 01 Javascript
写jQuery插件时的注意点
Feb 20 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
5分钟打造简易高效的webpack常用配置
Jul 04 Javascript
基于JavaScript实现百度搜索框效果
Jun 28 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 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中,文件上传
2006/12/06 PHP
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
解析PHP提交后跳转
2013/06/23 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
Windows环境下python环境安装使用图文教程
2018/03/13 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
想学画画?python满足你!
2020/12/24 Python
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
公益广告语集锦
2014/03/13 职场文书
关于安全演讲稿
2014/05/09 职场文书
求职信格式范文
2015/03/19 职场文书
运动会广播稿100字
2015/08/19 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书