您现在的位置: 365建站网 > 365学习 > JavaScript通过attachEvent和detachEvent方法处理带参数的函数

JavaScript通过attachEvent和detachEvent方法处理带参数的函数

文章来源:365jz.com     点击数:285    更新时间:2009-09-15 09:47   参与评论

 

 1 <!DOCTYPE HTML PUBLIC "-//w3c//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2<html XMLns="http://www.w3.org/1999/xhtml">
 3<head>
 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5<title>无标题文档</title>
 6<script language="JavaScript">
 7
 8    var theP;  //P标签对象
 9    
10    var show=function(msg){    //直接定义 function show(msg) 效果是一样的
11        return function(){    
12            alert(msg+" from show()");
13
14            if(window.addEventListener){  //FF etc.
15                 theP.removeEventListener("click", theP.show11, false);
16            }

17            else//IE
18                 theP.detachEvent("onclick", theP.show11);
19            }

20        }

21    }

22
23    var show2=function(msg){    //直接定义 function show2(msg) 效果是一样的
24        return function(){    
25            alert(msg+" from show2()");
26        }

27    }

28    
29    function showDef(){
30        alert("showDef()");            
31        
32         if(window.addEventListener){  //FF etc.
33              theP.removeEventListener("click", showDef, false);
34         }

35         else//IE
36              theP.detachEvent("onclick", showDef);
37         }

38    }

39    
40    window.onload=function(){
41        theP=document.getElementById("pid");
42        
43        theP.show11=show("可以detach的带参数方法");
44        
45        if(window.addEventListener) // not IE
46        {
47            //for FF.etc
48            theP.addEventListener("click", theP.show11, false);
49            theP.addEventListener("click", showDef, false);
50        }

51        else
52        {
53            //for IE            
54            theP.attachEvent("onclick", theP.show11);
55            theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach
56            
57            theP.attachEvent("onclick", showDef);  //无参数的方法直接写
58        }
        
59    }

60
</script>
61
62</head>
63
64<body >
65<div >
66    <id="pid">Click Me</p>
67</div>
68</body>
69</html>

 

本文系原创,转载请注明:来自 Freeway —— cnBlogs 
Tag标签: JavaScript,attachEvent,detachEvent,带参数的函数

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (285人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------