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

JavaScript022

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

<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加上面这段

1. IE下没什么问题,创建事件对象、对对象的keyCode属性赋值,然后再抛出来就行了:

2. Firefox 需要通过document.createEvent创建KeyEvents对象,再通过initKeyEvent方法对事件对象初始化

initKeyEvent 参考:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent

3. Chrome/Safari/Opera

通过document.createEvent创建UIEvents对象,初始化后再在该对象上挂载按键值。

initUIEvent 参考:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/initUIEvent

Chrome和Opera可以先将keyCode属性delete掉后,再用Object.defineProperty方法重新为它赋值:

有些安卓浏览器,此法无效,需要用下面的方式:

最后,封装好的function大概就是这样:

使用方法: 假设模拟回车

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

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

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

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

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

六、执行结果如下:

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

八、刷新页面,测试: