JavaScript通过attachEvent和detachEvent方法处理带参数的函数 时间:2020-05-12 人气:0 无标题文档 <script language="javascript"> var theP; //P标签对象 var show=function(msg){ //直接定义 function show(msg) 效果是一样的 return function(){ alert(msg+" from show()"); if(window.addEventListener){ //FF etc. theP.removeEventListener("click", theP.show11, false); } else{ //IE theP.detachEvent("onclick", theP.show11); } } } var show2=function(msg){ //直接定义 function show2(msg) 效果是一样的 return function(){ alert(msg+" from show2()"); } } function showDef(){ alert("showDef()"); if(window.addEventListener){ //FF etc. theP.removeEventListener("click", showDef, false); } else{ //IE theP.detachEvent("onclick", showDef); } } window.onload=function(){ theP=document.getElementById("pid"); theP.show11=show("可以detach的带参数方法"); if(window.addEventListener) // not IE { //for FF.etc theP.addEventListener("click", theP.show11, false); theP.addEventListener("click", showDef, false); } else { //for IE theP.attachEvent("onclick", theP.show11); theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach theP.attachEvent("onclick", showDef); //无参数的方法直接写 } } </script> Click Me [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 加载全部内容