<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跟按钮同样的功能:
八、刷新页面,测试: