在Netscape中,event.target 不能在函数中调用的问题

来源:互联网 发布:java方法调用 参数返回 编辑:程序博客网 时间:2024/06/05 11:01
<script   language="javascript">  
  <!--  
  function   pro(){  
              alert(event.target.tagName);  
  }  
   
  function   pro2(obj){  
              alert(obj.tagName);  
  }  
  //-->  
  </script>  
  <button   name="button1"   onclick="pro();">按钮1(没效果?)</button>  
  <button   name="button1"   onclick="pro2(event.target);">按钮2(正确)</button>
hax    回复于 2006-01-26 22:02:46

w3c的dom标准里,event参数是要传递进来,而不是在event这个global对象里的。你如果需要兼容的代码应该这样写:  
   
  function   pro2(evt){  
   
  var   event   =   evt   ||   window.event;  
   
  alert(event.target.tagName);  
   
  }  
   
  同时onclick="pro2(event.target);"其实表示onclick是一个匿名的函数,所以需要在其中传递参数。
===============================================
//obj=event.srcElement?event.srcElement:event.target;