我首页外部引用了两个js文件
A文件中一个函数内部用 document.onclick=aaa;aaa为关闭一个下拉框。即调用了本文件的一个函数。
B文件中调用 document.onclick=bbb;bbb为关闭另外一个下拉框。调用了另一个函数。现在问题是当我在首页执行document.onclick后(即点击鼠标左键后)如果先执行了aaa 就再也无法执行bbb;
同理,如果先执行了bbb在再也无法执行aaa;为什么不能同时执行呢?是不是执行玩一个需要释放之类的呢?不解!

解决方案 »

  1.   

    换用jQuery要么更改以前的代码合并起来!!
      

  2.   

    JS不支持重载,最后一个onclick会覆盖前面的onclick方法
      

  3.   

    通过document.onclick这样的方法来实现事件,确实比较方便,但是像下面这样的代码的话
    document.onclick=aaa;   //
    document.onclick=bbb;   // 这行会覆盖掉上面这行,aaa失效正确的方法应该用(IE下)
    document.attachEvent("onclick",aaa);
    document.attachEvent("onclick",bbb);
    这样使用的话就没问题了,其它浏览器的话可以用addEventListener方法代替attachEvent
      

  4.   

    自己封装一个函数,把你要运行的函数压进数组里,用for遍历执行
      

  5.   

    再写个ccc函数
    function ccc(){
    aaa();
    bbb();
    }
    然后再点击的时候执行CCC函数就行
      

  6.   

    attachEvent即可  但是有点要注意  他的执行顺序会很诡异  自己测试  
    attachEvent("onclick",xxx1);
    attachEvent("onclick",xxx2);
      

  7.   


    JS中是不支持重载,但是还是有办法可以重载的 
    你可以参考arguments对象
      

  8.   

    attachEvent  自己根据需要来决定是否用这个方法  
    attachEvent("onclick", event1); 
    attachEvent("onclick",event2); 或是用JQERY写个脚本  把这俩个JS代码封装到一起