IE浏览器下event.keycode 缺少对象

这是ie特有的错误消息
因为事件对象在ie中是放在window下的,而在其他浏览器中是作为一个参数传入侦听器函数的,并且是第一个参数
你应该把事件侦听器的第一个参数设为e
然后函数第一句应该是
e=e||window.event;
这样在ie和其他浏览器中都能运行正常

错误写法:

if(event.keyCode==13){    //这是运行IE会报出缺少对象     这个错是IE特有的错误消息

}

正确写法:

if(window.event){

       if(event.keyCode==13){   

       }

}

 

js中event.keyCode在Firefox中失效的解决办法

在js使用event.keyCode,用Firefox打开时,就会出现event未定义的错误:这里写图片描述
这是因为firefox浏览器不支持 window.event.keyCode,

但是我们可以用event.which代替。为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.
使用方法如下:

window.οnkeydοwn=function(e){
  var event = e || window.event;
//在火狐下event会做为参数传进来,ie下会在window下
  keyCode = event.which || event.keyCode;  //e.which是火狐下获取keyCode的方式,ie下使用e.keyCode获取

}
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值