用js怎么写一个回车键盘事件

JavaScript023

用js怎么写一个回车键盘事件,第1张

一、设计思路:设计一个简单的输入对话框,然后按下enter进行输入事件。

二、聊天输入框的代码如下:

三、此时的页面展示如下:

四:设计函数,使得输入文字时,按下按钮可以提交到聊天框。

五、此时在页面上测试,输入一段文字:

六、执行结果如下:

七、设计函数,使得按下enter跟按钮同样的功能:

八、刷新页面,测试:

<script type="text/javascript" language=JavaScript charset="UTF-8">

document.onkeydown=function(event){

var e = event || window.event || arguments.callee.caller.arguments[0]

if(e &&e.keyCode==27){ // 按 Esc

//要做的事情

}

if(e &&e.keyCode==113){ // 按 F2

//要做的事情

}

if(e &&e.keyCode==13){ // enter 键

//要做的事情

}

}

</script>

只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。

我做了一个jsp页面,里面有个搜索的功能,搜索是一个放大镜模样的图片,我给了个链接去执行函数,具体代码是:<span onclick="_search()"><img src="images/search.gif"  border="0">现在用鼠标点这个搜索图片是没问题的

有搜索条件输入框不?

有的话就在输入框加上onkeypress="if (event.keyCode == 13) _search()"

没有的话就给body加上面这段

判断是否按下的为回车非常简单:

复制代码

代码如下:

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:泡沫的幻想