在写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 ,如是转载文则注明原出处,谢谢:)
分享到:
相关推荐
### Window.event.keycode值大全详解 #### 概述 在JavaScript中,`window.event.keycode`属性被用于获取用户按下键的键盘码。这在处理键盘事件时非常有用,可以帮助开发者识别并响应特定的按键操作。本文将详细...
Javascript 代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : “”); var key = evt.keyCode?evt.keyCode:evt.which;//...
虽然在现代Web开发中更推荐使用`event.key`或`event.code`来获取按键信息,但在一些遗留代码中仍然可以看到`event.keyCode`的身影。本篇文章将详细介绍`event.keyCode`的各种值及其对应的按键,帮助开发者更好地理解...
javascript键盘事件大全,最全的键盘事件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)|...
在JavaScript编程中,`event.keyCode` 是一个非常重要的属性,特别是在处理键盘事件时。它用于获取用户按下键盘上的键对应的ASCII码或者特定的键码值。这个属性在各种键盘交互的场景下非常有用,比如创建自定义的...
谷歌浏览器:对event.keyCode、event.charCode和event.which都兼容。 火狐浏览器:对event.keyCode部分键值有效,如上下左右键(37,38,39,40),enter键(13),PgUp(33),PgDn(34)等部分有效,对数字键,字母键无效。 ...
下面提供一个简单的示例代码来演示如何使用`event.keyCode`来识别用户按下的是哪个键: ```javascript document.addEventListener('keydown', function(event) { console.log('Key Pressed: ' + event.keyCode); }...
- 模拟按键事件:`adb shell input keyevent [keycode]`模拟设备上的按键操作。 - 截图功能:`adb exec-out screencap -p > screenshot.png`将设备屏幕截图保存到电脑。 - 录像功能:`adb shell screenrecord --...
上述代码片段演示了如何使用`window.event.keyCode`来捕捉特定按键事件,并通过修改其ASCII码值来改变浏览器对按键事件的默认响应。这是实现用户交互增强的一种有效方法。 除此之外,event.keyCode还可以用来实现...
### JavaScript中的Event.keyCode键值详解 在JavaScript编程中,`event.keyCode`是一个非常有用的属性,它可以帮助开发者捕获用户在页面上的键盘输入行为,并通过不同的键值来区分各种按键。本文将详细介绍`event....
列举了所有keyCode的值,方便开发者利用。
通过在ASP.NET页面中嵌入JavaScript代码,我们可以监听并处理键盘事件,利用`event.keyCode`获取按键的ASCII码,以此实现特定按键触发特定的功能。这不仅可以提高用户体验,也能增强Web应用的交互性。记住,虽然大...
js_event.keycode值大全,匹配准确,快速开发查阅
JavaScript中的事件处理是Web开发中的重要一环,而`event.keyCode`是JavaScript中用来识别键盘按键的一个关键属性。它返回用户按下键盘时对应的ASCII码或Unicode值,这使得开发者能够根据用户输入的特定键来执行相应...