您的位置:首页 > Web前端 > JavaScript

js解决跨浏览器添加删除事件的问题

2017-07-25 00:00 337 查看
DOM中的事件对象
type属性 用于获取事件的类型
target属性 用于获取事件目标
bubbles属性
canselable属性
stopPropagation()方法 用于阻止事件冒泡
priventDefault()方法 阻止事件额默认行为

IE中的事件对象
trpe属性 用于获取事件类型
src Element 用于获取事件目标
cancelBubble 用于阻止事件冒泡 设置为true表示阻止冒泡 设置为falde表示不阻止冒泡
returnValue属性 用于阻止事件的默认行为 设置为false表示阻止时间的默认行为

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.onclick === element['onclick'];
element['on'+type]=handler;
}
},
// 删除句柄
removeHandler:function(element,type,handler){
if (element.removeEventListener) {
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type]=handler;
}
},

//获取事件
getEvent:function (event) {
return event?event:window.event;
},

//获取事件类型
getType:function (event) {
return event.type;
},

//获取事件来自于哪个元素
getElement:function (event) {
return event.target || ev
3ff0
ent.srcElement;
},

//组织事件的默认行为
preventDefault:function (event) {
if (event.preventDefault) {
event.preventDefault();
}else{
event.returnValue = false;
}
},

//阻止事件冒泡
stopPropagation:function (event) {
if (event.stopPropagation) {
event.stopPropagation();
}else{
event.cancelBubble = true;
}
},
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐