Javascript 获得事件对象(event)的正确写法(兼容FF和IE) 收藏
2009年12月31日


 

  1. <a onclick="Click()">点击这里</a>
  2. <script language="JavaScript">
  3. <!--
  4. function Click()
  5. {
  6.    var evt = GetEvent();
  7.    alert(evt);
  8. }
  9.  
  10. // 返回 event 对象
  11. function GetEvent()
  12. {
  13.    if(document.all) // IE
  14.    {
  15.        return window.event;
  16.    }
  17.  
  18.    func = GetEvent.caller; // 返回调用本函数的函数
  19.    while(func != null)
  20.    {
  21.        // Firefox 中一个隐含的对象 arguments,第一个参数为 event 对象  
  22.        var arg0 = func.arguments[0];
  23.      //  alert('参数长度:' + func.arguments.length);
  24.        if(arg0)
  25.        {
  26.            if((arg0.constructor == Event || arg0.constructor == MouseEvent)
  27.                ||(typeof(arg0) == "object" && arg0.preventDefault && arg0.stopPropagation))
  28.            {
  29.                return arg0;
  30.            }
  31.        }
  32.        func = func.caller;
  33.    }
  34.    return null;
  35. }
  36. //-->
  37. </script>
  38.  

 

本文永久链接: http://www.zzxj.net/blog/fxs_2008/archive/2009/12/31/111.html

发表于 @ 2009年12月31日 |评论(loading... )|收藏

发表评论 姓  名: