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['on'+type]=handler;
}
},
};
function showMes(a) {
alert(a.value);
}
var btn3 = document.getElementById('btn3');
eventUtil.addHandler(btn3,'click',showMes);
括号里不要event做参数程序也正常啊,求解释。
event好像也是一个本来就有的属性吧。
傳入event是為了兼容ie,其实不一定是非要传入event,传入e或者ev都可以,看个人习惯。为了兼容,会有以下写法 function abc(ev){ ev = ev || event; }
这里的event是一个对象,具体来说是你添加的事件对象MouseEvent, MouseEvent有属性(比如:type,target),有方法(比如:stopPropagation())。至于不传参也正常运行,应该是默认就会把该事件对象绑定到handler(这里是showMes这个方法)上。
event不是事件参数吗 用到函数是要进行传参。。。。。