代码我已写过了,但是只能在ie下生效,firefox下返回undefined。问这个问题并不是想具体实现什么功能,只是最近学习javascript时,对于如何在dom对象上的onclick、onmouseover等事件中获得事件对象的问题,我自己已解决,同时兼容性OK;而在类似于window.onload、window.beforeunload等事件中却无法获取事件对象(在firefox下)。求解

解决方案 »

  1.   


    window.onload = function(event){
      event = event || window.event ;
    }
      

  2.   


    event=event||window.event;
    target=event.srcElement||event.target;  target就是当前事件对象  srcElement支持IE target支持FF
      

  3.   

    回复给楼上2位贴出代码的朋友:<html>
    <body>
    <script>
    window.onload = function(event){
      event = event || window.event ;
      window.alert(event.clientX);
    }
    </script></body>
    </html>这是我自己写的,如果是alert(event)的话,都是返回[object];若alert(event.clientX),在ie下可以弹出clientX的值,firefox下却是undefined。谁能解释一下?
      

  4.   

    没有这样用过。我只有 click 的时候 才会去 获取 它的 clientXonload 的时候,没有遇见这样不合理的需求。
      

  5.   


    首先:clientX只是一个举例,想说明的问题是即使alert出了[object],但仍然获取不了它的属性;
    其次,暂且不理会需求的问题,我只想知道为什么。
      

  6.   

    因为onload 的时候,没有用户行为,所以没有event的值。而IE下的event 是window.event 是window的event
      

  7.   

    function getTarget(e) {
        return e ? e.target : event.srcElement;
    };