<!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>
<input type="button" value="HTML事件处理" id="btn1" onclick="showMess()">
<input type="button" value="DOM0级" id="btn2">
<input type="button" value="DOM2级" id="btn3">
<input type="button" value="IE事件处理" id="btn4">
<input type="button" value="跨浏览器事件处理" id="btn5">
<script type="text/javascript">
//一、HTML事件处理程序
function showMess(){
alert("Hello!");
}
//二、DOM0级事件处理程序
var btn2=document.getElementById("btn2");
btn2.onclick=function(){alert("Hello!")};//或者btn2.onclick=showMess;
//btn2.onclick=null;//删除事件程序
//三、DOM2级事件处理程序
var btn3=document.getElementById("btn3");
btn3.addEventListener("click",showMess,false);//三个值分别是“事件类型”,“触发函数名”,“布尔值”
//btn3.removeEventListener("click",showMess,false);//删除事件程序,三个参数必须与上面相同
//四、IE事件处理程序(因为IE不支持DOM2级)
var btn4=document.getElementById("btn4");
btn4.attachEvent("onclick",showMess);//比DOM2级少了布尔值
//btn4.detachEvent("onclick",showMess);//删除
var btn5=document.getElementById("btn5");
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;
}
},//不要漏了逗号!!!!!!!!!!!!!!!
//删除句柄
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]=null;
}
}
}
eventUtil.addHandler(btn5,'click',showMess);
</script>
</body>
</html>
<!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>
<input type="button" value="HTML事件处理" id="btn1" onclick="showMess()">
<input type="button" value="DOM0级" id="btn2">
<input type="button" value="DOM2级" id="btn3">
<input type="button" value="IE事件处理" id="btn4">
<input type="button" value="跨浏览器事件处理" id="btn5">
<script type="text/javascript">
//一、HTML事件处理程序
function showMess(){
alert("Hello!");
}
//二、DOM0级事件处理程序
var btn2=document.getElementById("btn2");
btn2.onclick=function(){alert("Hello!")};//或者btn2.onclick=showMess;
//btn2.onclick=null;//删除事件程序
//三、DOM2级事件处理程序
var btn3=document.getElementById("btn3");
btn3.addEventListener("click",showMess,false);//三个值分别是“事件类型”,“触发函数名”,“布尔值”
//btn3.removeEventListener("click",showMess,false);//删除事件程序,三个参数必须与上面相同
//四、IE事件处理程序(因为IE不支持DOM2级)
var btn4=document.getElementById("btn4");
// btn4.attachEvent("onclick",showMess);//比DOM2级少了布尔值
//btn4.detachEvent("onclick",showMess);//删除
var btn5=document.getElementById("btn5");
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;
}
},//不要漏了逗号!!!!!!!!!!!!!!!
//删除句柄
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]=null;
}
}
}
eventUtil.addHandler(btn5,'click',showMess);
</script>
</body>
</html>
你的浏览器对attachEvent支持吗???
如果不支持 就把
btn4.attachEvent("onclick",showMess);//比DOM2级少了布尔值
这一行注释掉,试一下
在我这里注释了之后,就可以了,你试试