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 学习 工具函数学习($A方法)
Jul 12 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
Apr 08 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
js的window.showModalDialog及window.open用法实例分析
Jan 29 Javascript
深入探讨javascript中的数据类型
Mar 04 Javascript
JavaScript类型系统之正则表达式
Jan 05 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
Dojo 学习要点
2010/09/03 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python变量访问权限控制详解
2019/06/29 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
Python如何实现线程间通信
2020/07/30 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
大学生毕业自荐信
2013/10/10 职场文书
大学生毕业求职简历的自我评价
2013/10/24 职场文书
医药销售求职信范文
2014/02/01 职场文书
网络管理员岗位职责
2014/03/17 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python