为了账号安全,请及时绑定邮箱和手机立即绑定

谁能帮我看一下btn5也就是跨浏览器事件处理按钮为什么弹不出来吗

<!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>


正在回答

2 回答

<!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>


0 回复 有任何疑惑可以回复我~

你的浏览器对attachEvent支持吗???

如果不支持 就把

 btn4.attachEvent("onclick",showMess);//比DOM2级少了布尔值

这一行注释掉,试一下

在我这里注释了之后,就可以了,你试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁能帮我看一下btn5也就是跨浏览器事件处理按钮为什么弹不出来吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信