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

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.

时间: 2024-10-07 09:49:09

js 回车事件兼容多个浏览器的相关文章

js回车事件

回车事件使用的是HTML的Event对象,通过keyCode推断被敲击的键. <intput type="text" onkeydown="Click()"> <script type="text/javascript"> function Click(){ if(event.keyCode == 13){ //按下回车键 //do something } } </script> 或者: <input t

js的window.onscroll事件兼容各大浏览器

为窗口添加滚动条事件其实非常的简单, window.onscroll=function(){}; 注意在获取滚动条距离的时候 谷歌不识别document.documentElement.scrollTop,必须要加上document.body.scrollTop:即 var scrolltop=document.documentElement.scrollTop||document.body.scrollTop; 这样才能兼容各个浏览器! <!DOCTYPE html PUBLIC "-/

js键盘事件兼容浏览器

document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; alert(e.keyCode); if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(e && e.keyCode==113){ // 按 F2 //要做的事情 } if(e && e.keyCode==1

关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种

clientX/Y: clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变 兼容性:所有浏览器均支持 pageX/Y: pageX/Y获取到的是触发点相对文档区域左上角距离,会随着页面滚动而改变 兼容性:除IE6/7/8不支持外,其余浏览器均支持 offsetX/Y: offsetX/Y获取到是触发点相对被触发dom的左上角距离,不过左上角基准点在不同浏览器中有区别,其中在IE中以内容区左上角为基准点不包括边框,如果触发点在边框上会返回负值,而chrome中以边框左

H5点击事件兼容各种APP浏览器

https://github.com/Clouda-team/touchjs/blob/master/touch.min.js <script src="js/jquery.min.js"></script> <script src="js/touch.min.js"></script>

JS中完美兼容各大浏览器的scrolltop方法

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; window.pageYOffset (Safari) 被放置在 || 的中间位置. 因为当 数字0 与 undefine 进行 或运算时,系统默认返回最后一个值.即或运算中 0 == undefine ; 当页面滚动条刚好在最顶端,即scrollTop值为 0 时,IE 下 window.pag

JQuery 绑定回车事件 兼容ie8,ie9

$("#form-search").find('#search-query').bind('keypress', function(e) { var keycode; if(window.event){ keycode = e.keyCode; //IE } else if(e.which){ keycode = e.which; } if (keycode != 13) { return; } that.search(); e.stopPropagation(); return fa

js 判断浏览器关闭事件 兼容所有浏览器

无论是从页签处关闭浏览器,还是关闭整个浏览器窗口,无论是 ie11,火狐,谷歌,苹果,还是ie6,都能兼容的浏览器关闭事件监听 在网上搜索了一天,虽然网上也有之类的代码,但是太繁琐,有时候还不可用.我也是在原有基础上修改的.经过了上述的浏览器测试,如果有不兼容的,欢迎提出意见一起学习. ? <script type="text/jscript" src="jquery-1.10.2.min.js"></script> <script t

js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)

网上有关这方面的代码比较多而乱,这里整理一下并加以改进. 添加事件 var addEvent = function( obj, type, fn ) { if (obj.addEventListener) obj.addEventListener( type, fn, false ); else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj.attachEvent( "on"+type, function() {