<script type="text/javascript">
window.onload=function(){
    (function(p1,p2){
        document.getElementById("div2").onclick=function(){div2Click(p1,p2);}
    })("a","b")
}function div2Click(e,a){
alert(e+" "+a);
}
</script>
<body>
<div id="div2">aaaa</div>
</body>

解决方案 »

  1.   

    L@_@K
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
    <div id="div2">aaaa</div>
      <script type="text/javascript">
    function div2Click(e,a){
    alert(e+" "+a);
    }
    document.getElementById("div2").onclick = div2Click;
    document.getElementById("div2").onclick("parameter01", "parameter02");
    </script>
     </BODY>
    </HTML>
      

  2.   

    看错题意了,哈
    L@_@K
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
    <div id="div2">aaaa</div>
      <script type="text/javascript">
    function div2Click(e,a){
    alert(e+" "+a);
    }
    var count = 0;
    var p1 = "first";
    var p2 = "No. One";document.getElementById("div2").onclick = function() {
    if (count > 0)
    {
    p1 = "not first";
    p2 = "No. " + count;
    }
    div2Click(p1, p2);
    count++;
    };
    //document.getElementById("div2").onclick();
    </script>
     </BODY>
    </HTML>
      

  3.   

    4楼的朋友我看懂了,是在匿名涵数中调用别的涵数。
    而2楼的我没看懂,这是什么js语法啊?希望可以解释下哦。我刚学js没多久,不太清楚,呵呵。
      

  4.   

    To CutBug: 你的闭包看着很酷啦,可是,要怎么传参数呢.那个("a","b"),不至于写死吧.还有,能提供些js闭包的资料地址吗?
      

  5.   

    找到几个关于JS闭包的资料,与大家分享
    http://hi.baidu.com/chenminliang/blog/item/1e8ca0b14bb8f55008230267.html
    http://hi.baidu.com/chenminliang/blog/item/616c950e24c8e9e336d12218.html
    http://hi.baidu.com/chenminliang/blog/item/4a824fd9f4bcea2811df9ba3.html
      

  6.   

    研究了一下闭包, CutBug 在这里有点大材小用了, 有点耍酷的嫌疑, 简单点,就这样就可以了
    <script type="text/javascript">
    window.onload=function(){
        document.getElementById("div2").onclick=function(){return div2Click("a","b");};
    }function div2Click(e,a){
    alert(e+" "+a);
    }
    </script>
      

  7.   

    还有个地方不明白啊,如下代码中的
    document.getElementById("div2").onclick=div2Click;或window.onload等那些事件的所注册的涵数为什么不能带参数。
    如把document.getElementById("div2").onclick=div2Click("11","22");为什么不行?<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>**</title>
    <style type="text/css">
    #div1{
    background-color:#00FF00;
    position:absolute;
    width:100px;
    height:100px;
    }
    #div2{
    background-color:#FFCC99;
    position:absolute;
    left:100px;
    width:100px;
    height:100px;
    }
    </style><script type="text/javascript">
    window.onload=setup;
    function setup(){
        document.getElementById("div2").onclick=div2Click;
    }
    function div1Click(e){
    alert(e);
    }
    function div2Click(e,a){
    alert(e+" "+a);
    }
    </script></head><body>
    <div id="div1" onClick="div1Click(1)"></div>
    <div id="div2"></div>
    </body>
    </html>