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 相关文章推荐
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
javascript 清空form表单中某种元素的值
Dec 26 Javascript
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
Egret引擎开发指南之发布项目
Sep 03 Javascript
用svg制作富有动态的tooltip
Jul 17 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
Jan 14 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
Dec 08 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
vue loadmore组件上拉加载更多功能示例代码
Jul 19 Javascript
详解Node.js读写中文内容文件操作
Oct 10 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
Oct 14 Javascript
Vue Router的手写实现方法实现
Mar 02 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
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
解决laravel session失效的问题
2019/10/14 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JQUERY dialog的用法详细解析
2013/12/19 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
Python实现的最近最少使用算法
2015/07/10 Python
Python连接phoenix的方法示例
2017/09/29 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
python实现AES加密和解密
2019/03/27 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
python中shell执行知识点
2020/05/06 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
傲盾软件面试题
2015/08/17 面试题
土木工程专业个人求职信
2013/12/30 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
生产文员岗位职责
2014/04/05 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
python pygame入门教程
2021/06/01 Python