在写Felix的javascript运行环境的时候
为了方便使用,Felix希望能够捕捉到CTRL+Enter按键作为运行的快捷键
以前写过for IE的代码,非常简单:
<script language="javascript">
function myKeyPress(){
alert(event.keyCode);
}
</script>
<body onkeypress="myKeyPress()">
......
但是这样的代码在Firefox下根本不能运行,因为event不是Firefox的一个全局对象。
查了好多资料,终于明白了在Firefox下要这样写代码才行:
<script language="javascript">
function myKeyPress(evt){
alert(evt.which);
}
</script>
<body onkeypress="myKeyPress(evt)">
......
但是很遗憾,这样的代码在IE下又不能运行——好吧,采取折衷方案如下:
<script language="javascript">
function myKeyPress(evt){
evt = (evt) ? evt : ((window.event) ? window.event : "") //兼容IE和Firefox获得keyBoardEvent对象
var key = evt.keyCode?evt.keyCode:evt.which; //兼容IE和Firefox获得keyBoardEvent对象的键值
if(evt.ctrlKey && (key == 13 || key == 10)){ //同时按下了Ctrl和回车键
//do something;
}
}
</script>
<body onkeypress="myKeyPress(evt)">
......
于是代码终于可以在IE和Firefox运行了。
总结一下需要注意的地方:
1. 取得keyBoardEvent对象
2. 取得keyBoardEvent对象的键值
3. onkeypress="myKeyPress(event)" 函数需要一个参数
以上很大一部分是参考了来自以下网页:
Javascript Madness
该网页详细介绍了几个很容易令人发疯的兼容性问题。。。。
--
转载请注明出自 http://www.felix021.com/blog/read.php?1171 ,如是转载文则注明原出处,谢谢:)
分享到:
相关推荐
event.keycode大全(javascript) event.keycode大全(javascript) event.keycode大全(javascript) event.keycode大全(javascript) event.keycode大全(javascript)
window.event.keycode值大全,内含javascript中所有键盘键值,查找方便简单。
Javascript 代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : “”); var key = evt.keyCode?evt.keyCode:evt.which;//...
javascript键盘事件大全,最全的键盘事件event.keycode
谷歌浏览器:对event.keyCode、event.charCode和event.which都兼容。 火狐浏览器:对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效。 ...
event.keycode 值 大全
代码如下:[removed] function onlyNum() { if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)&&!(event.keyCode==190)) if(!((event.keyCode>=48&&event.keyCode<=57)|...
js中event.keycode键值大全,真的很全
最全的js_event.keycode值列表
列举了所有keyCode的值,方便开发者利用。
js_event.keycode值大全,匹配准确,快速开发查阅
主要就是为了监听键盘按下的是哪个键,并且转成ASCII码; 代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” ... <head> <... charset=gb2312″ />...window.event.keyCode</ti
javaScript window.event.keyCode 集合,对于事件的代码获取可以用脚本监听来实现。
asp.net 键盘事件 keycode asc码 keycode控制按钮 js event.keycode 键盘事件
比如你的INPUT是:那么你在里边加入:onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;"成为:(event.keyCode == 32)event.returnValue = false;">本人测试有效,如果解决记得加分哦
js获取键盘按键的键码event.keyCode,下面则是键盘的键码分布,记录一下,以备不时之需