问答详情
源自:2-4 IE事件处理程序及跨浏览器解决

就是不行啊,求找错,谢谢了

<!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>IE及跨浏览器</title>

</head>


<body>

    <input type="button" value="按钮1" id="btn1" onclick="showMes()"/>

    <input type="button" value="按钮2" id="btn2" />

    <input type="button" value="按钮3" id="btn3" />

    <script>

function showMes(){

alert("hello javascript");

}

var btn3=document.getElementById("btn3");

    //跨浏览器事件处理程序

var eventUtil={

//添加句柄

addHandler:function(element,type,handler){

//如果是DOM2级事件

if(element.addEventListener){

element.addEventListener(type.handler,false);

//若是是IE事件

}else if(element.attachEvent){

element.attachVent("on"+type,handler);

//如果都不是就用DOM0级事件

}else{

element["on"+type]=handler;

}

},

//删除句柄

removeHandler:function(element,type,handler){

//如果是DOM2级事件

if(element.removeEventListener){

element.removeEventListener(type.handler,false);

//若是是IE事件

}else if(element.detachEvent){

element.detachVent("on"+type,handler);

//如果都不是就用DOM0级事件

}else{

element["on"+type]=null;

}

}

}

eventUtil.addHandler(btn3,"click",showMes);

</script>

</body>

</html>


提问者:牛牛兀 2016-06-28 12:44

个回答

  • skyfire1123
    2016-06-28 13:25:05

    element.addEventListener(type.handler,false);

    element.removeEventListener(type.handler,false);

    改为  //你把type和handler中间的逗号打成点了

    element.addEventListener(type,handler,false);

    element.removeEventListener(type,handler,false);