098_键盘事件

本文详细介绍了onkeydown、onkeypress和onkeyup这三个键盘事件的触发顺序、语法、适用元素以及关键用例。通过实例演示了如何在HTML和JavaScript中应用这些事件,适合前端开发者理解键盘操作的监听机制。
摘要由CSDN通过智能技术生成

1. onkeydown事件

1.1. onkeydown事件会在用户按下一个键盘按键时发生。

1.2. 与onkeydown事件相关联的事件触发次序:

  • onkeydown
  • onkeypress
  • onkeyup

1.3. 语法

1.3.1. html中:

<element onkeydown="SomeJavaScriptCode">

1.3.2. JavaScript中:

object.onkeydown=function(){SomeJavaScriptCode};

1.4. onkeydown属性可以适用于所有html元素, 除了: <base>, <bdo>, <br>, <frame>, <frameset>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>和<title>。一般给body、input和textarea元素使用。

1.5. 键盘上几乎所有的键都监听onkeydown事件, 测试了自己的键盘只有PrintScreen键没有监听onkeydown事件。

2. onkeypress事件

2.1. onkeypress事件会在键盘按键被按下并释放一个键时发生。

2.2. 语法

2.2.1. html中:

<element onkeypress="SomeJavaScriptCode">

2.2.2. JavaScript中:

object.onkeypress=function(){SomeJavaScriptCode};

2.3. onkeypress属性可以适用于所有html元素, 除了: <base>, <bdo>, <br>, <frame>, <frameset>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>和<title>。一般给body、input和textarea元素使用。

2.4. 一下键不监听onkeypress事件。

3. onkeyup事件

3.1. onkeyup 事件会在键盘按键被松开时发生。

3.2. 语法

3.2.1. html中:

<element onkeyup="SomeJavaScriptCode">

3.2.2. JavaScript中:

object.onkeyup=function(){SomeJavaScriptCode};

3.3. onkeyup属性可以适用于所有html元素, 除了: <base>, <bdo>, <br>, <frame>, <frameset>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>和<title>。一般给body、input和textarea元素使用。

3.4. 键盘上所有键都监听onkeyup 事件。

4. 例子

4.1. 代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>键盘事件</title>
	</head>
	<!-- 参数必须传递event -->
	<body onkeydown="mykeydown(event)">
		<p>请按下键盘上的任意键: <br /></p>

		<script type="text/javascript">
			var myP = document.querySelector("p");

			function mykeydown(e){
				myP.innerHTML += ("onkeydown ");
			}

			document.body.onkeypress = function(e){
				myP.innerHTML += ("onkeypress ");
			}

			document.body.addEventListener("keyup", mykeyup, false);

			function mykeyup(e){
				myP.innerHTML += ("onkeyup" + "<br />");
			}
		</script>
	</body>
</html>

4.2. 效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值