linapursue
2015-05-28 20:16
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>跨浏览器问题</title>
</head>
<body>
<div id="box">
<input type="button" value="submit1" id="btn1">
<input type="button" value="submit2" id="btn2">
</div>
<script>
var btn1=document.getElementById('btn1');
var btn2=document.getElementById('btn2');
function showmess(){
alert('you are my message');
}
var eventUtil={
addHandler:function(element,type,handler){
//DOM2 处理程序的方法
if(element.addEventListener){
element.addEventListener(type,handler,false);
}
//IE 处理程序方法
else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}
//DOM0处理事件程序判断
else{
element['on'+type]=handler;//触发handler操作
}
}
}
//删除句柄
removeHandler:function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}
//IE事件处理程序
else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}
else{
element['on'+type]=null;
}
}
eventUtil.addHandler(btn2,'click',showmess);
</script>
</body>
</html>
eventUtil 是以对象字面量的方法封装的数据,所以两个方法是应该封装到整个对象里的。第一个完整的方法的大括号后面应该用逗号分隔,最后一个完整的方法后面不需要逗号。
eventUtil.addHandler(btn2,'click',showmess);这个是在外部作用域中调用。
removeHandler:前面的大括号放错位置了,应该在eventUtil.addHandler(btn2,'click',showmess);前面,还有removeHandler:前面的大括号后面需要加逗号
你这个用来做什么啊,想实现什么功能啊?
DOM事件探秘
99544 学习 · 1197 问题
相似问题