javascript自学002--DOM事件
事件流:元素接收事件的顺序
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事件的更多相关文章
- 二、JavaScript语言--事件处理--DOM事件探秘
第一章 事件流 事件:是文档或浏览器窗口中发生的.特定的交互瞬间.JavaScript和HTML之间的交互都是通过事件来实现的. 事件流:描述的是从页面中接受事件的顺序 IE:事件冒泡流 Netsca ...
- 二、JavaScript语言--事件处理--DOM事件探秘--下拉菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javascript总结30 :DOM事件
事件: 1 在js中可以说一整套事件能完成一个功能: 事件的定义:当什么时候执行什么事: 使用事件的基本结构:事件源+事件类型=执行的指令 2 事件三要素:事件源 事件类型, 驱动程序(匿名函数). ...
- JavaScript HTML DOM 事件
JavaScript HTML DOM 事件 HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应. 实例 Mouse Over Me 对事件做出反应 我们可以在事件发生时执行 ...
- javascript中0级DOM和2级DOM事件模型浅析
Javascript程序使用的是事件驱动的设计模式,为一个元素添加事件监听函数,当这个元素的相应事件被触发那么其添加的事件监听函数就被调用: <input type="button&q ...
- javascript系列之DOM(三)---事件
原文:javascript系列之DOM(三)---事件 事件是javascript跳动的心脏,是DOM所有成分结合的万金油.当我们在WEB 上进行某些交互时,事件也就发生了.点击某些内容,鼠标经过特定 ...
- 走进javascript——DOM事件
DOM事件模型 在0级DOM事件模型中,它只是简单的执行你为它绑定的事件,比如你为某个元素添加了一个onclick事件,当事件触发时,它只是去调用我们绑定的那个方法,不再做其他的操作. 在2级DOM事 ...
- JavaScript DOM事件模型
早期由于浏览器厂商对于浏览器市场的争夺,各家浏览器厂商对同一功能的JavaScript的实现都不进相同,本节内容介绍JavaScript的DOM事件模型及事件处理程序的分类. 1.DOM事件模型.DO ...
- JavaScript Dom 事件
JavaScript Dom 事件 对于事件需要注意的要点: // this标签当前正在操作的标签. this // event封装了当前事件的内容. even 常用事件 // 鼠标单击.触发事件 ...
- 【总结整理】JavaScript的DOM事件学习(慕课网)
事件:在文档或者浏览器窗口中发生的一些,特定的交互瞬间 HTML和JavaScript的交互通过事件 来实现 比如:1.滚动条向下滑动,加载图片 2.图片轮播,鼠标由2-5页调换 本章内容1.理解事件 ...
随机推荐
- [转载]Matlab生成Word报告
最近在进行一批来料的检验测试,一个个手动填写报告存图片太慢了,就有了种想要使用Matlab在分析完后数据可以自动生成PDF报告的想法,于是就去网上搜索了相关的资料,发现Matlab中文论坛上有xiez ...
- Appium移动自动化测试之安装Appium
第一次学习appium,希望此安装教程可以帮助初学者,共同学习. Appium官网介绍:Appium是与本地,使用开源自动化测试框架, 混合和移动Web应用程序. 它驱动iOS和Android应用使用 ...
- Object.create()方法的低版本兼容问题
Object.prototype.create=(function(){ if(Object.prototype.create){return Object.prototype.create}else ...
- 中兴MF667S WCDMA猫Linux拨号笔记
公司最近有个国外有个项目需要用到WCDMA猫,网上简单选型了一下决定使用ZTE的型号MF667S的猫,本以为在Linux下拨号是比较简单的(之前有两款3G猫的调试经验),估计半天能搞定,结果折腾了一周 ...
- MVC中获取模型属性的Range和StringLength验证特性设置
MVC中的客户端及服务端模型验证信息都以ModelMetadata类型作为承载,在获得属性的ModelMetadata之后(还不知道怎么获取ModelMetadata的童鞋请自行恶补),我们可以轻松得 ...
- js面向对象,多种创建对象方法!
1.对象字面量. var clock={ hour:12, minute:10, second:10, showTime:function(){ alert(this.hour+":&quo ...
- C语言实现 字符串过滤并修改并返回个数
基本问题:给定一个strContent,strWord,使用strWord 匹配strContent,匹配成功,将匹配部分全部替换为‘*’ ,并返回匹配成功个数.注意不能使用库函数. 例如:strCo ...
- 关于C++的递归(以汉诺塔为例)
关于C++,hanoi塔的递归问题一直是个经典问题,我们学习数据结构的时候也会时常用到, 因为它的时间复杂度和空间复杂度都很高,我们在实际的应用中不推荐使用这种算法,移动n个盘子, 需要2的n次幂减一 ...
- 性能优化九之UI卡顿分析
在前一篇博客中提到内存抖动和耗时复杂的计算会导致UI卡顿. 那为什么内存抖动会导致UI卡顿呢? 其实在 性能优化一之内存与垃圾回收器 这篇文章中已经有所提及. 这里来详细说明一下: 渲染功能是应用程序 ...
- [php-src]扩展中封装业务与 call_user_function 的使用建议
内容均以php5.6.14为例. 从一个封装 uniqid 的例子来讲. /* {{{ wrapper of uniqid */ PHP_FUNCTION(fox) { // #1. zval *pr ...