作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在我的 Javascript 代码中添加更多按键事件:
<script>
function OPEN(e) {
if (e.type !== "blur") {
if (e.keyCode === 70) {
alert("Pressed F");
}
}
}
document.onkeydown = OPEN;
</script>
最佳答案
我从你的问题中得到的是你想检测更多的按键操作。检测按键的最佳方法是 switch 语句
function OPEN(e) {
if (e.type !== "blur") {
switch (e.keyCode) {
case 70:
alert("Pressed F");
break;
case 65:
alert("Pressed A");
break;
default:
alert("I don't know what to do with that key!");//This line is removable
break;
}
}
}
document.onkeydown = OPEN;
开关
的工作方式是:
switch (VALUE) {
case THIS_VALUE:
CODE
break;
default:
CODE
break;
}
这可能是您见过的最糟糕的解释,因此您可以阅读 here
keyCodes 很难弄清楚,您可以使用:
function OPEN(e) {
if (e.type !== "blur") {
switch (String.fromCharCode(e.keyCode)) {
case "F":
alert("Pressed F");
break;
case "A":
alert("Pressed A");
break;
case "B":
alert("Pressed B");
default:
alert("I don't know what to do with that key!");//This line is removable
break;
}
}
}
document.onkeydown = OPEN;
<小时/>
检测组合键时,您可以使用 &&
来确保两个键都被按下。无需一些更复杂的。您可以使用:
e.metaKey
Window key on Windows, Command Key on Mac
e.ctrlKey
Control key
e.shiftKey
Shift key
e.altKey
Alt key
将它们用作:
if (e.ctrlKey && e.keyCode === 65) {
alert("Control and A key pressed");
}
为了检测当前按下的所有键(多个),我发现 this fiddle (不是我的),还有一个问题 here
关于javascript - 如何在 javascript 中事件更多键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870106/
我是一名优秀的程序员,十分优秀!