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 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 Javascript
javascript实现base64 md5 sha1 密码加密
Sep 09 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
如何提高javascript加载速度
Dec 26 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
关于axios不能使用Vue.use()浅析
Jan 12 Javascript
jquery.pager.js实现分页效果
Jul 29 jQuery
Node配合WebSocket做多文件下载以及进度回传
Nov 07 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制作静态网站的模板框架
2006/10/09 PHP
WHOIS类的修改版
2006/10/09 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
js实现日期级联效果
2014/01/23 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python使用生成器实现可迭代对象
2018/03/20 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
python实现logistic分类算法代码
2020/02/28 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
期末自我鉴定
2014/01/23 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
获奖感言怎么写
2015/07/31 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript
Pandas-DataFrame知识点汇总
2022/03/16 Python
JS class语法糖的深入剖析
2022/07/07 Javascript
nginx配置指令之server_name的具体使用
2022/08/14 Servers