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 相关文章推荐
Prototype使用指南之hash.js
Jan 10 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
解决vue 按钮多次点击重复提交数据问题
May 10 Javascript
了解javascript中变量及函数的提升
May 27 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
如何利用vue实现波谱拟合详解
Nov 05 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
php实例化一个类的具体方法
2019/09/19 PHP
Javascript----文件操作
2007/01/18 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
javascript验证身份证号
2015/03/03 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
利用python生成照片墙的示例代码
2020/04/09 Python
python与idea的集成的实现
2020/11/20 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
运动会广播稿200米
2014/01/27 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
大学生暑期实践报告
2015/07/13 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript