DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

事件对象——兼容处理

1 /*
2  * 功能: 事件对象兼容
3  * 参数: 表示常规浏览器的事件对象e
4  */
5 function getEvent(e) {
6
7     // 如果存在e存在,直接返回,否则返回window.event
8     return e || window.event;
9 }

获取事件所对应的目标——兼容处理

 1 /*
 2
 3  * 功能: 获取事件所对应的目标
 4
 5  * 参数: 表示常规浏览器的事件对象e
 6
 7  */
 8
 9 function getTargetByEvent() {
10
11     // 如果存在e.target,直接返回,否则返回window.event.srcElement
12
13     return e.target || window.event.srcElement;
14
15 }

添加事件——兼容处理

 1 /*
 2
 3  * 功能: 添加事件
 4
 5  * 参数:
 6
 7  */
 8
 9 function addEventHandler(element, eventName, handler) {
10
11     // 三目(条件)运算符,如果存在document.addEventListener直接调用,否则调用document.attachEvent这个方法
12
13     document.addEventListener ? element.addEventListener(eventName, handler, flase) : element.attachEvent(‘on‘ + eventName, handler);
14
15 }

阻止默认事件——兼容处理

 1 /*
 2
 3  * 功能: 阻止默认事件
 4
 5  * 参数: 表示要阻止的事件对象
 6
 7  */
 8
 9 function stopDefaultEvent(e) {
10
11     // 三目(条件)运算符,如果存在e.preventDefault直接调用,否则使用window.event.returnValue = false;
12
13     e.preventDefault ? e.preventDefault() : (window.event.returnValue = false);
14
15 }

阻止冒泡事件——兼容处理

 1 /*
 2
 3  * 功能: 阻止冒泡事件
 4
 5  * 参数: 表示要阻止的事件对象
 6
 7  */
 8
 9 function stopBubbleEvent(e) {
10
11     e.stopPropagation ? e.stopPropagation() : (window.event.cancelBubble = true);
12
13 }

以上为一些事件对象所涉及到的兼容处理。
其实JS的兼容处理比较简单,无非就是判断浏览器是否有此方法(对象),如果有的话,就直接调用(获取),否则使用另外的方法。

DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

时间: 2024-08-06 03:39:38

DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理的相关文章

阻止默认行为和冒泡

preventDefault方法的起什么作用呢?我们知道比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情. stopPropagation方法呢?讲stopPropagation方法之前必需先给大家讲解一下js的事件

JavaScript 阻止默认时间和冒泡时间

<!DOCTYPE HTML><html> <head> <title>event cancel</title> </head> <body> <a href="https://www.baidu.com/">baidu</a> <div style="width: 400px; height: 300px; background: red;" id=&

阻止默认行为 阻止冒泡

什么是默认行为? var a = document.getElementById('a'); a.addEventListener('click',function(e){ e.preventDefault(); },false); 兼容性问题: function preventDefault(event){ var event = $$.getEvent(event); if(event.preventDefault){ event.preventDefault(); }else{ event

js的冒泡和阻止默认行为

stopPropagation 停止冒泡 preventDefault  阻止默认行为 return false 停止冒泡和阻止默认行为. 冒泡的执行顺序是由触发事件的元素往父级元素层层执行. 但是如果当前元素没有阻止默认行为,而父级元素阻止默认行为,那么默认行为也不会触发. 示例代码 <!DOCTYPE html> <html> <head> <title></title> </head> <body> <div

获取JSON对象的属性值

1.问题背景 有一个json对象,其中有键值对,那怎样获取json对象中属性值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

获取json对象的长度

在我们日常前端开发中,经常会用到ajax请求json数据,而json数据有数组和对象2种表示结构,对象和数组.而获取json数组结构的长度比较容易,但json对象结构的长度就比较麻烦.而本文就是对如何获取json对象的长度进行说明. 在说明如何获取json对象之前,我们需要了解下原生javaScript中的hasOwnProperty()方法,这个方法可以检测一个属性是存在于实例中,还是存在于原型中.只要给定属性存在于对象实例中,才会返回true.来看一个简单的例子. // 原型模式创建对象 f

2015-03-12——简析DOM2级事件

DOM2级事件 事件的几种类型:对象事件,鼠标事件,键盘事件,表单事件,W3CDOM事件,以及针对浏览器的事件. 对象事件:window对象,也是javascript对象.load  适用于window对象,页面需要的所有图像文件都载入完成才触发.unload  适用于window对象,页面被关闭之前捕获最后一瞬间的信息.error  适用于window对象和图像对象.图像一旦设置src属性,就开始载入图像.abort  在图像完全载入之前,因浏览器停止载入页面导致图像载入失败时触发.通常发生在

JS 阻止浏览器默认行为和冒泡事件

JS 冒泡事件 首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情

DOM0、DOM2级事件

JavaScript DOM0.DOM2级事件 1.DOM0级事件:on+事件类型 在html行内直接绑定,也就是通过行内js绑定的例如<span onclick="alert('1')">第一项</span> 在js中绑定例如://<span onclick="alert('2')">第一项</span> var Ospan=document.getElementsByTagName('span')[0];Ospan