event对象在IE和firefox下兼容写法

由于项目需求要求只能允许用户输入数字和小数,用到了event.keycode后IE系列、chrome浏览器都无问题,在firefox下出现了event not defined的错误

原因:火狐下event对象不能通过window.event获取到,而是在调用函数时以参数的形式传递的。

解决方案:将其改为兼容的写法即可。

另外注意: event对象的keyCode属性在火狐和其他浏览器下也不同,火狐使用的是event.which,所以这一块也写成兼容模式

例子:设置文本框只能输入数字和浮点数验证

<script type="text/javascript">
$(function(){
  $('input[type=text]').css('ime-mode','Disabled').val(''); 
  $('input[type=text]').bind('keypress',function(e){
     var e = e || window.event;
    var key = e.keyCode?e.keyCode:e.which;
    return (/[\d.]/.test(String.fromCharCode(key))); 
  });
})
</script>

 

转载于:https://www.cnblogs.com/guangxiaoluo/p/3334955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值