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 面向对象的 私有成员和公开成员
May 13 Javascript
js 中的switch表达式使用示例
Jun 03 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
在node中如何使用 ES6
Apr 22 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
Vue-Access-Control 前端用户权限控制解决方案
Dec 01 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 Javascript
在vue中使用Autoprefixed的方法
Jul 27 Javascript
vue cli3适配所有端方案的实现
Apr 13 Javascript
Vue 组件复用多次自定义参数操作
Jul 27 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python在线运行代码助手
2016/07/15 Python
python 排序算法总结及实例详解
2016/09/28 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
python 实现单例模式的5种方法
2020/09/23 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
大学生活学习的自我评价
2013/12/03 职场文书
铁路个人事迹材料
2014/01/30 职场文书
开业庆典策划方案
2014/02/18 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
成本会计岗位职责
2015/02/03 职场文书
节约用电通知
2015/04/25 职场文书
婚庆司仪开场白
2015/05/29 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android