问答详情
源自: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>事件处理程序</title>

</head>


<body>

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

<script>

var bt = document.getElementById("btn");


function showMes(){

alert("我是黑牛")

}


var eventUitl = {

//添加句柄

addHandler:function(element,type,handler){

if(element.addEventListener){

bt.addEventListener(type,handler,false);

}else if(element.attachEvent){

bt.attachEvent('on'+type,handler);

}else{

element['on'+type] = handler ;                 

}

//删除句柄

removeHandler:function(element,type,handler){

if(element.addEventListener){

bt.removeEventListener(type,handler,false);

}else if(element.attachEvent){

bt.detachEvent('on'+type,handler);

}else{

element['on'+type] = null ;                 

}

}


 eventUitl.addHandler(bt,'click',shouMes);


</script>

</body>

</html>


提问者:萧飞_ 2017-08-05 16:36

个回答

  • LFZ_CUG
    2020-06-28 16:53:06

    1、 eventUitl.addHandler(bt,'click',shouMes);里showMes拼错了;

    2、

    addHandler:function(element,type,handler){

    if(element.addEventListener){

    bt.addEventListener(type,handler,false);

    }else if(element.attachEvent){

    bt.attachEvent('on'+type,handler);

    }else{

    element['on'+type] = handler ;                 

    }这里要加逗号

    3、var eventUitl = {括号不完整

  • 萧飞_
    2017-08-05 16:38:32

    怎样都没有反应,去掉和添加<input type="button" value="按钮" id="btn" onclick="showMes()"/>这里的onclick是一样的,没效果。