码迷,mamicode.com
首页 > 其他好文 > 详细

跨浏览器的事件处理程序

时间:2015-05-20 13:17:33      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:javascript   js事件   浏览器   

var eventUtil = {//定义一个对象
addEventHandler:function(element,type,handler){//handler是触发时的操作,即function,传参数时,function不用加括号。

if(element.addEventListener){//支持dom2级
element.addEventListener(type,handler,false);
}else if(element.attachEvent){//支持ie
element.attachEvent(‘on’+type,handler);
}else{
element[‘on’+type]=handler;//这里不用.的原因是因为.不能连接一个变量跟一个字符串,事实上任何.的都可以用中括号表示
}
},

removeEventHander:function(element,type,hander){
if(element.removeEventListener){//不要加括号,检测它是否有这个属性
element.removeEventListener(type,hander,false);//这里才需要加括号
}else if(element.detachEvent){
element.detachEvent(‘on’+type,hander);
}else{
element[‘on’+type]=null;
}
}
}

事件对象:在触发dom事件的同时,都会产生一个event对象。

dom中的事件对象:event

1、type属性用于获取事件类型

2、target属性用于获取事件目标

 

事件冒泡:假如你触发了子元素的一个事件,浏览器会默认你也触发了此子元素的父元素的事件。

3、阻止事件冒泡的方法:event.stopPropagation(),放在子元素的handler里面。

4、preventDefault()方法阻止事件的默认行为。例如a标签的默认行为就是跳转。

ie中的事件对象:window.event

1type属性,用于获取事件类型

2srcElement属性,用于获取事件目标

3cancelBubble用于阻止事件冒泡

4returnValue用于阻止事件的默认行为

跨浏览器的事件处理程序

标签:javascript   js事件   浏览器   

原文地址:http://blog.csdn.net/u011011025/article/details/45868477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!