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 相关文章推荐
一页面多XMLHttpRequest对象
Jan 22 Javascript
(仅IE下有效)关于checkbox 三态
May 12 Javascript
JavaScript入门教程 Cookies
Jan 31 Javascript
CSS和Javascript简单复习资料
Jun 29 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
Nov 02 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
webpack实现一个行内样式px转vw的loader示例
Sep 13 Javascript
小程序分享模块超级详解(推荐)
Apr 10 Javascript
详解Vue依赖收集引发的问题
Apr 22 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 Javascript
canvas实现贪食蛇的实践
Feb 15 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/02/08 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
Vue入门之数据绑定(小结)
2018/01/08 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
浅谈Python中的私有变量
2018/02/28 Python
python实现机器学习之多元线性回归
2018/09/06 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python中温度单位转换的实例方法
2020/12/27 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
群众路线自我剖析材料
2014/10/08 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
Python实现科学占卜 让视频自动打码
2022/04/09 Python
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js