问答详情
源自:3-3 编程练习

为什么我的取消添加,取消不了呢。谁能帮我看看,谢谢你们了

<!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="按钮1" id="btn1" />

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

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

</div>

<script>

/*function showmes(){

alert('hello,world!')

}


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

btn1.onclick=function(){

alert('这是DOM0级的处理程序')

}

btn1.onclick=null; //删除dom0级事件

var btn2=document.getElementById("btn2");*/

/*btn2.addEventListener('click',showmes,false);//添加dom2级事件

    btn2.removeEventListener('click',showmes,false);//删除dom2级事件

var btn3=document.getElementById("btn3")

btn3.attachEvent('onclick',showmes);//ie9以下的版本支持*/

//封装代码跨浏览器

function showmes(){//

alert('这是兼容模式')}

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

var eventutil={//吧函数封装在eventutil中

addHander:function(ele, type, hander){//添加句柄

//封装事件 addHander

if(ele.addEventLiatener){

ele.addEvenListener(type,hander,false);

}else if(ele.attachEvent){

ele.attachEvent('on'+type,hander);

}else{

ele['on'+type]=hander;

}

},

//删除句柄

removeHander:function(ele, type, hander){//添加句柄

//封装事件 addHander

if(ele.removeEventListener){

ele.removeEventListener(type,hander,false);

}else if(ele.detachEvent){

ele.detachEvent('on'+type,hander);

}else{

ele['on'+type]=null;

}

}

}

eventutil.addHander(btn2,'click',showmes);//传递参数

eventutil.removeHander(btn2,'click',showmes);

    </script>

    

 

</body>

</html>


提问者:花事了了花事花了了 2016-09-12 17:35

个回答

  • weibo_宝慕林349606
    2016-09-18 11:40:32
    已采纳

    if(ele.addEventLiatener){

    ele.addEvenListener(type,hander,false);

    里面的两个addEventListener写错了

    还有如果

    eventutil.addHander(btn2,'click',showmes);//传递参数

    eventutil.removeHander(btn2,'click',showmes);

    这样写点击就会无反应,因为添加了点击事件处理程序,然后马上又移除了。


  • 花事了了花事花了了
    2016-09-12 19:52:40

    好像是因为 btn.doucument.getElement(‘btn’),里面应该是单引号