码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-09-22 16:52:55      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

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

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

 JS代码:

function kenNumIE(){   
    if(window.event.keyCode==13){
         alert("你按的是回车键!");   
     }
}

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

2.兼容Firefox的方法:

HTML代码:

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

JS代码:

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.

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

标签:

原文地址:http://my.oschina.net/xiuhong/blog/509609

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!