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

不知道哪里出问题了,跨浏览器时点击按钮没反应

<!DOCTYPE html>

<html>

<head>

<title>DOM事件处理程序</title>

<meta charset="utf-8">

</head>

<body>

<!--HTML事件处理程序-->

<input type="button" name="btn1" id="btn1" value="按钮" onclick="message()">


    <!--DOM0事件处理程序-->

<input type="button" name="btn2" id="btn2" value="按钮1">

<input type="button" name="btn3" id="btn3" value="按钮2">


<script type="text/javascript">

function message(){

alert("hello");

}

//DOM0事件处理程序

var btn2=document.getElementById("btn2")

btn2.onclick=function(){

alert("helloworld!");

}



//DOM2事件处理程序

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

//btn3.addEventListener('click',message,false);

//btn3.removeEventListener('click',message,false);

//IE事件处理程序

//btn3.attachEvent('onclick',message);

//btn3.detacheEvent('onclick',message);

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

var eventUntil={

//添加句柄

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;

}

}

}

eventUntil.addHandler(btn3,'click',message);

</script>

</body>

</html>


提问者:咿呀咿呀哒哒 2016-08-23 20:11

个回答

  • 咿呀咿呀哒哒
    2016-08-24 11:25:08

    谢谢!

  • 慕粉6690988
    2016-08-23 23:47:36

    第36行,addHandler后边应该是冒号,我们要写的是addHandler的方法而不是属性