<script language="javascript" type="text/javascript">function a(node,type,list)
{
node.attachEvent(type,list);
}
a(window,"onclick",function(){alert(321)});</script>我用IE 测试,这里的onclick 不起作用。  我把它换成别的如 onfocus 、onload 等都可以。

解决方案 »

  1.   

    补充 用把window换成  document 是可以的。为什么会这样呢?
      

  2.   

    确实没有onclick事件javascript window 常用事件
     
        window.onload = function onLoad() {
         alert("onload");
        }
        window.onunload = function onUnLoad() {
         alert("onunload");
        }
        window.onbeforeunload = function onBeforeUnLoad() {
         alert("onbeforeunload");
        }
        window.onactivate = function onActivate() {
         alert("onactivate");
        }//
        window.onbeforedeactivate = function onBeforeDeactivate() {
         alert("onbeforedeactivate");
        }//
        window.oncontrolselect = function onControlSelect() {
         alert("oncontrolselect");
        }//
        window.onscroll = function onScroll() {
         alert("onscroll");
        }
        window.onresizestart = function onResizeStart() {
         alert("onresizestart");   
        }//
        window.onresizeend = function onResizeEnd() {
         alert("onresizeed");
        }//
     
        //控件有效/无效
        document.forms[0].controlName.disabled=false/true;
      

  3.   

    window对象是文档对象和地址栏、状态条、滚动条等众多对象的集合。
    这就象你进入一个摆满家具的屋子,你能触摸到的是具体的家具和墙壁、地板,它们都是屋子的组成部分,你只能触摸到这些具体的对象,而不可能一下子触摸到屋子这个综合体。
      

  4.   

    1、window没有onclick方法,所以上面的监听不会起作用
    2、attachEvent FF并不支持此方法想兼容浏览器,可以使用下面的写法:
    <script type="text/javascript">
    function addEvent(el, fn, handler){
    if(el.addEventListener) {
    el.addEventListener(fn, handler, false);
    }
    else if(el.attachEvent) {
    el.attachEvent("on" + fn, handler);
    }
    else{
    el["on" + fn] = handler;
    }
    } addEvent(document, 'click', function() {
    alert(1);
    });</script>