javascript有几种键盘事件
javascript有3种键盘事件:1、keydown事件,在键盘上按下某个键时触发;2、keypress事件,按下某个键盘键并释放时触发;3、keyup事件,释放某个键盘键时触发。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
在 JavaScript 中,当用户操作键盘时,会触发键盘事件。
键盘事件主要包括下面 3 种类型:
keydown
:在键盘上按下某个键时触发。如果按住某个键,会不断触发该事件,但是 Opera 浏览器不支持这种连续操作。该事件处理函数返回 false 时,会取消默认的动作(如输入的键盘字符,在 IE 和 Safari 浏览器下还会禁止keypress 事件响应)。keypress
:按下某个键盘键并释放时触发。如果按住某个键,会不断触发该事件。该事件处理函数返回 false 时,会取消默认的动作(如输入的键盘字符)。keyup
:释放某个键盘键时触发。该事件仅在松开键盘时触发一次,不是一个持续的响应状态。
当获取用户正按下键码时,可以使用 keydown、keypress 和 keyup 事件获取这些信息。其中 keydown 和 keypress 事件基本上是同义事件,它们的表现也完全一致,不过一些浏览器不允许使用 keypress 事件获取按键信息。所有元素都支持键盘事件,但键盘事件多被应用在表单输入中。
示例
下面示例实时捕获键盘操作的各种细节,即键盘响应事件类型及对应的键值。
<textarea id="key"></textarea> <script> var key = document.getElementById("key"); key.onkeydown =f; //注册keydown事件处理函数 key.onkeyup = f; //注册keyup事件处理函数 key.onkeypress = f; //注册keypress事件处理函数 function f (e) { var e = e || window.event; //标准化事件处理 var s = e.type + " " + e.keyCode; //获取键盘事件类型和按下的值 key.value = s; } </script>
键盘事件属性
键盘定义了很多属性,如下表所示。利用这些属性可以精确控制键盘操作。键盘事件属性一般只在键盘相关事件发生时才会存在于事件对象中,但是 ctrlKey 和 shiftKey 属性除外,因为它们可以在水保事件中存在。例如,当按下 Ctrl 或Shift 键时单击鼠标操作。
属性 | 说明 |
---|---|
keyCode | 该属性包含键盘中对应键位的键值 |
charCode | 该属性包含键盘中对应键位的 Unicode 编码,仅 DOM 支持 |
target | 发生事件的节点(包含元素),仅 DOM 支持 |
srcElement | 发生事件的元素,仅 IE 支持 |
shiftKey | 是否按下 Shift 键,如果按下返回 true,否则为false |
ctrlKey | 是否按下 Ctrl 键,如果按下返回 true,否则为false |
altKey | 是否按下 Alt 键,如果按下返回 true,否则为false |
metaKey | 是否按下 Mtea 键,如果按下返回 true,否则为false,仅 DOM 支持 |
【相关推荐:javascript学习教程】
以上就是javascript有几种键盘事件的详细内容,更多请关注其它相关文章!