所以你应该选择不是快捷键的组合键来实现.这里我用CTRL+Q给你写的例子.你看看吧:
<input type=text id="txt" onkeyup="test()">
<script>
<!--
function test(){
if(event.ctrlKey&&window.event.keyCode==81){
myalert()
}
}
function myalert(){
alert("CTRL+Q")
}
//-->
</script>
首先 control 键是 UNIX 系统很久以前就有的一个保留键,由于那时还没有图形用户界面(GUI),所以它多用来控制命令行工具,比如著名的 control-c 快捷键,它可以发送一个 SIGINT 信号来中断当前运行的进程。Mac OS X 操作系统是基于 UNIX 操作系统的,所以也保留了 UNIX 强大的命令行功能,也就是现在的“终端”,而之前在 UNIX 中的与 control 有关的快捷键也就都被保留了下来。所以你现在在终端中按下 control-c 的话,仍然会终止正在运行的进程。
然而,作为一个现代的操作系统, Mac OS X 也支持图形界面(GUI)。所以它需要另一套系统来作为图形界面的快捷键,这样就有了 command 键。比如 command-c 就是复制。这样可以避免和命令行界面快捷键的冲突。如果将 command 和 control 合并的话,按下 control-c 等组合键时,就无法判断用户是要复制还是要中段进程。
参考一下吧,稍作修改就可以满足1、2两个条件
但是IE的键盘监听最多只能作用于document上(window我试过不行)
如果内嵌了iframe并且你的焦点在iframe上,那么按键无效
<script>
document.onkeydown
=
function()
{
var
oEvent
=
window.event
if
(oEvent.keyCode
==
13
&&
oEvent.ctrlKey)
{
alert("你按下了ctrl+enter")
}
}
</script>