回车键提交输入内容(解决火狐不兼容问题)

来源:互联网 发布:1password mac 费用 编辑:程序博客网 时间:2024/06/05 08:22
看看这个对你有没有帮助:



1.window.event.keyCode的用法:设置或获取与导致事件的按键关联的 ASCII 按键代码。
示例:
XML/HTML代码
<input type="text" onkeydown="javaScript:if(window.event.keyCode==13) kenNumIE();" />   
<script language="javascript" type="text/javascript">   
function kenNumIE(){   
     alert("你按的是回车键!");   
}   
</script> 

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

2.兼容Firefox的方法:

XML/HTML代码
<input type="text" onkeydown="return keyNumAll(event);" >   

<script language="javascript" type="text/javascript">   

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(k == 13){   

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

}   

}   

</script> 


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

3.在现实中的应用:
只让输入框接受数字输入:

XML/HTML代码
<script language="javascript" type="text/javascript">   

function inputNum(evt){  

    evt = (evt) ? evt : ((window.event) ? window.event : "");  

     var key = evt.keyCode?evt.keyCode:evt.which;

     if((k<=57) && (k>=48)){   

         return true;   

     }else{   

         alert("只能输入数字!");   

         return false;   

     }   

}   

</script>   

<input type="text" onKeyPress="return inputNum(event);" > 

于是代码终于可以在IE和Firefox运行了。
总结一下需要注意的地方:
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值

3. onkeypress="myKeyPress(event)" 函数需要一个参数,并且参数的名称为event.


阅读全文
0 0
原创粉丝点击