事件流:元素接收事件的顺序

1.事件冒泡:事件由最具体的元素开始接收,逐级向上传递到document元素。即从里到外。

2.事件捕获:由外到里,先接收的是document然后逐级向内,最后才到具体的元素。

DOM0级事件处理程序

给元素绑定一个事件:element.event = function(){};

比如:给按钮加一个点击事件,弹出这是一个按钮  var obtn = document.getElementById('btn');

obtn.onclick = function(){alert("这个是按钮");}

取消元素绑定的事件可以将执行的函数改为空     obtn.onclick = null;

0级只能绑定一个同名的事件,绑定两个及以上时,后面的会覆盖前面的,只能显示最后绑定的那个。

DOM2级事件处理程序

添加事件  addEventListenner();里面接收三个参数:事件名,执行的函数,是否冒泡(事件名不要加on;true为冒泡 false不冒泡)。

移除事件  removeEventListenner();里面也是三个参数,与添加事件的参数一致才能移除;

dom2会有兼容性问题   IE9以前版本并不识别addeventlistenner 和 removeEventListenner

ie:添加事件  attachEvent()和dettachEvent();接收两个参数:事件名(有on),执行的函数;

在使用时,通常要用能力检测:if(addEventListenenr){addEventListenenr();}else(){attachEvent();}

if(removeEventListenenr){removeEventListenenr();}else(){dettachEvent();}

dom2级可以给同一个元素绑定多个同名的事件。

DOM事件对象  event

事件对象:在触发DOM上的事件都会产生一个对象 event 里面保存着这个事件的所有内容

介绍几个常用的属性和方法:

1.type属性,用于获取事件类型 eg:obtn.onclick = function(event){alert(event.type);}  //弹出click.

2.target属性,用于获取事件目标,即被绑定事件的元素。

3.stopProgation()方法,用于阻止冒泡

4.preventDefault()方法,用于阻止默认行为    比如a元素默认是跳转到另一个页面打开url的地址

调用event.preventDefault();就不会跳转。

IE中的事件对象

1.type属性与DOM中的一致;

2.获取事件目标:srcElement属性

3.阻止事件冒泡是用cancelBubble属性  设置为true

4.阻止默认行为:returnValue属性设置为false

兼容性:ie8之前不能识别event,用的是window.event

处理办法:var event = event || window.event;

javascript自学002--DOM事件的更多相关文章

  1. 二、JavaScript语言--事件处理--DOM事件探秘

    第一章 事件流 事件:是文档或浏览器窗口中发生的.特定的交互瞬间.JavaScript和HTML之间的交互都是通过事件来实现的. 事件流:描述的是从页面中接受事件的顺序 IE:事件冒泡流 Netsca ...

  2. 二、JavaScript语言--事件处理--DOM事件探秘--下拉菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. javascript总结30 :DOM事件

    事件: 1 在js中可以说一整套事件能完成一个功能: 事件的定义:当什么时候执行什么事: 使用事件的基本结构:事件源+事件类型=执行的指令 2 事件三要素:事件源 事件类型, 驱动程序(匿名函数). ...

  4. JavaScript HTML DOM 事件

    JavaScript HTML DOM 事件 HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应. 实例 Mouse Over Me 对事件做出反应 我们可以在事件发生时执行 ...

  5. javascript中0级DOM和2级DOM事件模型浅析

    Javascript程序使用的是事件驱动的设计模式,为一个元素添加事件监听函数,当这个元素的相应事件被触发那么其添加的事件监听函数就被调用: <input type="button&q ...

  6. javascript系列之DOM(三)---事件

    原文:javascript系列之DOM(三)---事件 事件是javascript跳动的心脏,是DOM所有成分结合的万金油.当我们在WEB 上进行某些交互时,事件也就发生了.点击某些内容,鼠标经过特定 ...

  7. 走进javascript——DOM事件

    DOM事件模型 在0级DOM事件模型中,它只是简单的执行你为它绑定的事件,比如你为某个元素添加了一个onclick事件,当事件触发时,它只是去调用我们绑定的那个方法,不再做其他的操作. 在2级DOM事 ...

  8. JavaScript DOM事件模型

    早期由于浏览器厂商对于浏览器市场的争夺,各家浏览器厂商对同一功能的JavaScript的实现都不进相同,本节内容介绍JavaScript的DOM事件模型及事件处理程序的分类. 1.DOM事件模型.DO ...

  9. JavaScript Dom 事件

    JavaScript  Dom 事件 对于事件需要注意的要点: // this标签当前正在操作的标签. this // event封装了当前事件的内容. even 常用事件 // 鼠标单击.触发事件 ...

  10. 【总结整理】JavaScript的DOM事件学习(慕课网)

    事件:在文档或者浏览器窗口中发生的一些,特定的交互瞬间 HTML和JavaScript的交互通过事件 来实现 比如:1.滚动条向下滑动,加载图片 2.图片轮播,鼠标由2-5页调换 本章内容1.理解事件 ...

随机推荐

  1. C++常用输出 cout、cerr、clog

    三者在C++中都是标准IO库中提供的输出工具: cout:写到标准输出的ostream对象: cerr:输出到标准错误的ostream对象,常用于程序错误信息: clog:也是输出标准错误流(这点儿和 ...

  2. 浅谈Oracle表之间各种连接

    Oracle表之间的连接分为三种: 1.内连接(自然连接) 2.外连接 2.1.左外连接(左边的表不加限制,查询出全部满足条件的结果) 2.2.右外连接(右边的表不加限制,查询出全部满足条件的结果) ...

  3. java多线程详解(5)-Threadlocal用法

    ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路. 使用这个工具类可以很简洁 ...

  4. 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作

    这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...

  5. 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍

    英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...

  6. AngularJs自定义指令详解(4) - transclude

    transclude默认值为false,如果设置 transclude为true,那么相应地,必须在模板代码中加入ng-transclude指令. 先看个例子: <!DOCTYPE html&g ...

  7. 异步请求Ajax

    AJAX:Asynchronous JS And XML,包括HTML.CSS.JS.DOM.XML.JSON等,客户端技术范畴.主要目标:发起异步请求/响应,实现页面内容的局部刷新,提高浏览体验:实 ...

  8. ServiceStack.OrmLite中的一些"陷阱"(2)

    注:此系列不是说ServiceStack.OrmLite的多个陷阱,这仅仅个人认为是某一个陷阱(毕竟我踩坑了)而引发的思考. 前文说到了项目需要使用两种不同的数据库语言,虽说前文问题已基本解决了,但是 ...

  9. (python)对象的引用

    对比下列两个例子: 例子1: a=10 b=a a=a+2 print "a=",a,"b=",b 结果:a= 12 b= 10 a+2后,b仍然是10 例子2 ...

  10. block反向界面传值

    1.在第二个界面的.h文件中申明block @property(nonatomic,copy)void(^myBlock)(NSString * str); 2.在返回第一个界面的点击事件中赋值要传递 ...