你可以在一个方法中引用另外一个啊
function funt(){
}
function test(){
document.onclick = funt;
}

解决方案 »

  1.   

    http://www.pconline.com.cn/pcedu/empolder/wz/javascript/10302/135474.html
      

  2.   

    默认的使用document.onclick的方法重新设置其回调通过attachEvent的方法,就可以实现你需要的效果
    假设两个JS(前提是保证这两个JS中的函数不相同)
    click1和click2是两个js对应的处理方法事例代码如下
    --------------------
    <script>
    function click1(){
    alert("click1");
    }function click2(){
    alert("click2");
    }
    document.attachEvent("onclick",click1);
    document.attachEvent("onclick",click2);
    </script>attachEvent只是简单的增加了一个事件处理钩子,因此你可以通过attachEvent添加任意多个的处理事件,再不需要的情况下使用detachEvent来释放事件处理刚才的代码是首先执行click2函数
    如果在click2中加入了window.event.cancelBuffer=true就不会触发click1,具体是不是修改这个变量大家可以查一下,我不是特别清楚,默认情况下是可以归溯处理的如果有不明白的,可以继续提问
      

  3.   

    除了attachEvent
    还可以
    function document::onclick()
    {
    alert("click1");
    }
    function document::onclick()
    {
    alert("click2");
    }
    区别是this指针不同
      

  4.   

    谢谢各位,我的解决方法是参考了 fason(阿信) 所给出的链接的文章,如下:
    1.js:
    function click1()
    {
      alert('click1');
    }
    myActive1 = "Click1()";
    if(document.onclick != null)
    {
    eval(document.onclick.replace('anonymous()','bodyclick()'));
    document.onclick = new Function("bodyclick()"+myActive1);
    }
    else
    {
    document.onclick = new Function(myActive1);
    }2.js:
    function click2()
    {
      alert('click2');
    }
    myActive2 = "Click2()";
    if(document.onclick != null)
    {
    eval(document.onclick.replace('anonymous()','bodyclick()'));
    document.onclick = new Function("bodyclick()"+myActive2);
    }
    else
    {
    document.onclick = new Function(myActive2);
    }
      

  5.   

    myActive1 = "Click1();";
    ...
    if(document.onclick != null)
    {
    eval(document.onclick.replace('anonymous()','bodyclick()'));
    document.onclick = new Function("bodyclick();"+myActive1);
    }