文本框中,回车键触发事件的js代码[多浏览器兼容]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本框中,回车键触发事件的js代码[多浏览器兼容]相关的知识,希望对你有一定的参考价值。
参考技术A 判断是否按下的为回车非常简单:复制代码
代码如下:
function
EnterPress()
if(event.keyCode
==
13)
...
IE6的onkeypress会接受"回车事件",而onkeydown不会接受
IE8的onkeypress不会接受"回车事件",而onkeydown会接受
...不用纠结于此,两个都写上吧
复制代码
代码如下:
<input
type="text"
onkeypress="EnterPress()"
onkeydown="EnterPress()"
/>
但是,到了FF下面,又会出现矛盾.FF是onkeypress和onkeydown都接受"回车事件"的.
同时,为了兼容FF下面能获得event,需要这样写:
复制代码
代码如下:
function
EnterPress(e)
//传入
event
var
e
=
e
||
window.event;
if(e.keyCode
==
13)
...
那么,只要给任意的一个事件内传参数
event,另外一个不传参数,即可以让FF只执行一次了:
复制代码
代码如下:
&<input
type="text"
onkeypress="EnterPress(event)"
onkeydown="EnterPress()"
/>
综上,兼容IE和FF:
复制代码
代码如下:
<head>
<script>
function
EnterPress(e)
//传入
event
var
e
=
e
||
window.event;
if(e.keyCode
==
13)
document.getElementById("txtAdd").focus();
</script>
</head>
<body>
<input
type="text"
id="txtName"
onkeypress="EnterPress(event)"
onkeydown="EnterPress()"
/>
<input
type="text"
id="txtAdd"
/>
</body>
--by:泡沫的幻想
javascript 文本框中,判断回车键触发事件 兼容IE&FireFox
1.onkeypress&onkeydown区别
onkeypress 事件在用户按下并放开任何字母数字键时发生。但是系统按钮(例如:箭头键、功能键)无法得到识别。
onkeydown 事件在用户按下任何键盘键(包括系统按钮)时发生。捕获的 keyCode 不区分字母大小,而 onkeypress 区分。
IE6的onkeypress会接受"回车事件",而onkeydown不会接受
IE8的onkeypress不会接受"回车事件",而onkeydown会接受
FireFox中onkeypress和onkeydown都接受"回车事件"的.
<head> <script> function EnterPress(e){ //传入 event var e = e || window.event; if(e.keyCode == 13){ //13代表回车符 //TO_DO按下回车键后的动作 } } </script> </head> <body> <input type="text" id="txtName" onkeypress="EnterPress(event)" onkeydown="EnterPress()" /> </body>
在html源码中,同时用到了onkeypress、onkeydown,但是上文说了,FireFox均接受回车事件,为了使其只运行一次,则任意的一个事件内传参数 event,另外一个不传参数。
最后,完成兼容IE&FireFox。
以上是关于文本框中,回车键触发事件的js代码[多浏览器兼容]的主要内容,如果未能解决你的问题,请参考以下文章