<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>event keycode</title>
</head>
<body>
<div id="insert">
<div class="key">
press any key to get the keycode
</div>
<!--
这样写方便调整样式,写完之后删掉这部分代码,保留上面那个就可以了。然后我们加载页面时看到的就只是一行话press any key to get the keycode。当按下键盘上的任意按键时,页面会变成这部分代码的内容。
<div class="key">
a
<small>event.key</small>
</div>
<div class="key">
65
<small>event.keyCode</small>
</div>
<div class="key">
KeyA
<small>event.code</small>
</div> -->
</div>
<script src="script.js"></script>
</body>
</html>
css
@import url('https://fonts.googleapis.com/css?family=Muli&display=swap');
* {
box-sizing: border-box;
}
body{
background-color: grey;
font-family: 'Muli', sans-serif;
display:flex;
align-items: center;
justify-content: center;
text-align: center;
height:100vh;
overflow: hidden;
margin:0;
}
.key{
border:1px solid #999999;
background-color: #c4c4c4;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
opacity: 0.8;
display: inline-flex;
align-items: center;
font-size: 20px;
font-weight: bold;
padding:20px;
flex-direction: column;
margin:10px;
min-width: 150px;
color:#fff;
position: relative;
}
.key small{
position: absolute;
top:-24px;
left:0;
text-align: center;
width:100%;
color:#c4c4c4;
font-size: 20px;
}
js
注意考虑按下空格键时的情况,按下空格键时,第一个event.key会变成空的
const insert = document.getElementById('insert')
window.addEventListener('keydown', (event) => {
insert.innerHTML = `
<div class="key">
${event.key === ' ' ? 'Space' : event.key}
<small>event.key</small>
</div>
<div class="key">
${event.keyCode}
<small>event.keyCode</small>
</div>
<div class="key">
${event.code}
<small>event.code</small>
</div>
`
})