js 回车事件兼容多个浏览器

本文详细解析了如何在HTML输入框中使用JavaScript监听键盘事件,包括在IE浏览器中通过window.event.keyCode进行事件处理,以及在Firefox浏览器中通过事件对象的keyCode属性实现兼容性。同时,提供了在不同浏览器下触发特定事件(如回车键)的通用解决方案,确保代码在多种浏览器环境下都能正常工作。

1.window.event.keyCode的用法:设置或获取与导致事件的按键关联的 ASCII 按键代码。
示例:
HTML代码:

?

1

<input type="text" onkeydown="kenNumIE();" />

 JS代码:

?

1

2

3

4

5

function kenNumIE(){   

    if(window.event.keyCode==13){

         alert("你按的是回车键!");   

     }

}

说明:当把光标置入输入框后按回车键,就会触发kenNumIE()事件。(回车键的ASCII是13)
但是该方法只对IE有效,原因是Firefox的window对象没有event属性,所以window.event是不存在的,Firefox只能在事件句柄函数的第一个参数获取事件对象。

2.兼容Firefox的方法:

HTML代码:

?

1

<input type="text" onkeydown="keyNumAll(event);" >

JS代码:

?

1

2

3

4

5

6

7

function keyNumAll(evt){ 

    evt = (evt) ? evt : ((window.event) ? window.event : "");  //兼容IE和Firefox获得keyBoardEvent对象

    var key = evt.keyCode?evt.keyCode:evt.which; //兼容IE和Firefox获得keyBoardEvent对象的键值 

    if(key == 13){   

       alert("你按的是回车键!");   

    }   

}

这样,当你按回车键时,就可以触发keyNumAll(event)事件了。

于是代码终于可以在IE和Firefox运行了!

注意
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值
3. onkeydown="keyNumAll(event)" 函数需要一个参数,并且参数的名称为event.

转载于:https://my.oschina.net/u/1054538/blog/597885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值