事件学习一

2,封装操作事件-------跨浏览器操作


eventUtil={

//添加句柄

addHandler:function(obj,type,fn){

//dom2级

if(obj.attachEvent){

obj.attachEvent("on"+type,fn);

}else if(obj.addEventListener){

obj.addEventListener(type,fn,false);

}else{

//dom0级

obj.["on"+type]=fn

}

},

//删除句柄

removeHandler:function(obj,type,fn){

if(obj.detachEvent){

obj.detachEvent("on"+type,fn);

}else if(obj.removeEventListener){

obj.removeEventListener(type,fn,false);

}else{

obj.["on"+type]=null;

}

}

}


三  事件对象

1,DOM中的事件对象

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

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

3, event.stopPropagation();  阻止事件冒泡;

4,   event. preventDefault  ;阻止默认行为

2,IE中的事件对象

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

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

3, cancelBubble属性;  阻止事件冒泡;

4,   return false属性  ;阻止默认行为


//封装事件
eventUtil={
//添加句柄
addHandler:function(obj,type,fn){
if (obj.attachEvent) {
obj.attachEvent("on"+type,fn);
}else if(obj.addEventListener){
obj.addEventListener(type,fn,false);
}else{
obj["on"+type]=fn;
}
},
//删除句柄
removeHandler:function(obj,type,fn){
if (obj.detachEvent) {
obj.detachEvent("on"+type,fn);
}else if(obj.removeEventListener){
obj.removeEventListener(type,fn,false);
}else{
obj["on"+type]=null;
}
},
//获取事件的类型
getStype:function(event){
return event.type;
},
//获取事件
getEvent:function(event){
return event?event:window.event;
},
//获取事件目标
getElement:function(event){
return event.target||event.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;
}
}

}


4,获取className

var obj=document.getElementByClassName("");


function  getClass(nclass,parent){

var oParent=parent?document.getElementById(parent):document,

results=[],

eles=oParent.getElementsByTagName("*");

for(var i=0,j=eles.length;i<j;i++){

result.push(eles[ i ]);

}

return results;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值