JavaScript通过attachEvent和detachEvent方法处理带参数的函数
 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
    <p id="pid">Click Me</p>
67
</div>
68
</body>
69
</html>
 <!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{ //IE18
                 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{ //IE36
              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 IE46
        {47
            //for FF.etc48
            theP.addEventListener("click", theP.show11, false);49
            theP.addEventListener("click", showDef, false);50
        }51
        else52
        {53
            //for IE            54
            theP.attachEvent("onclick", theP.show11);55
            theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach56
            57
            theP.attachEvent("onclick", showDef);  //无参数的方法直接写58
        }        59
    }60
</script>61

62
</head>63

64
<body >65
<div >66
    <p id="pid">Click Me</p>67
</div>68
</body>69
</html>
			 
		 | 
		本文系☆大森林☆创作于博客园, 转载请保留此说明 更多请访问 freeway.cnblogs.com | 
			 
		 | 
	
                    
                

    
		
		
                
            
        
浙公网安备 33010602011771号