FF代替IE的window.event的方法,不用带参

FF代替IE的window.event的方法,不用带参

event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等;
event对象只在事件发生的过程中才有效。
firefox里的event跟IE里的不同,IE里的是全局变量,随时可用;firefox里的要用参数引导才能用,是运行时的临时变量。
**在IE/Opera中是window.event,在Firefox中是event;**而事件的对象,在IE中是window.event.srcElement,在Firefox中是event.target,Opera中两者都可用

原先写js的时候没注意浏览器兼容问题,见window.event用得爽就狂用,发现问题时为时已晚,N多页面都是直接用了。在网上搜了好多让火狐兼容window.event的方法。大同小异都是要调用函数时带个参数。

虽然只是多加一个参考,但那足以让我不爽……
因为之前写页面时忘了考虑兼容,如果要加参数的话我要一个个改到哭死。不好还好,篇了好多页后终于找到了不用带参的方法(真不明白有用的资源竟排不到第一页)
以下是代码:

function getEvent(){
  if(document.all) return window.event; 
  func=getEvent.caller; 
  while(func!=null){ 
    var arg0=func.arguments[0]; 
    if(arg0){ 
      if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ 
        return arg0; 
      } 
    } 
    func=func.caller; 
  } 
  return null; 
}
//测试event函数
function testEvent()
{
    var Evt = getEvent();
    alert(Evt);
}
<a onclick="testEvent(event)">test</a>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值