js中的键盘事件包括 onkeydown 、 onkeyup 、 onkeypress
1、onkeydown
键盘按下后就会立即执行的事件,不管是数字键、字母键还是功能键都能触发这个事件。
onkeydown有个特点:键盘一直按下会不停地触发事件,连续触发时,第一次和第二次的触发时间间隔会比较长一点,后面触发速度就非常的快。这种设计是为了防止误操作的发生。
2、onkeyup
键盘松开后立马执行的事件。
3、onkeypress
键盘按键被按下并释放一个键时执行。数字键、字母键能触发事件,但是功能键按下后不会触发这个事件,比如Esc、Tab、CapsLock、Shift、Ctrl、Alt、Delete、Backspace、四个方向键。
补充一些常用按键对应的Unicode编码:
Enter:13
space:32
Left:37
Up:38
Right:39
Down:40
参考一下吧,稍作修改就可以满足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>