简体   繁体   English

处理同一功能中的多个键码

[英]handle multiple keycodes in same function

I'm new on java script. 我是Java脚本的新手。 I'm trying to make this simple script to my html page. 我正在尝试将此简单脚本制作到我的html页面。 My questions is how can I/ what's the correct way to add multiple keycodes to same function? 我的问题是,如何/将多个键码添加到同一功能的正确方法是什么? Example. 例。 17, 12, 71, 65. As you can see there's only keychar: 17 17、12、71、65。您可以看到只有keychar:17

My current code: 我当前的代码:

function keyDown(event) {
  if (event.keyCode == 17) {
    var canvas = document.getElementById('image-canvas ');
    canvas.innerHTML = '<img src="alert.png" /> '
    canvas.innerHTML += '<audio src="winxpalert.mp3" autoplay="autoplay"> '
  }
}

function keyUp(event) {
  if (event.keyCode == 17) {
    var canvas = document.getElementById('image-canvas');
    canvas.innerHTML = '';
  }
}

Any help would be appreciated! 任何帮助,将不胜感激! :) :)

The way to make this work is using a switch . 完成这项工作的方法是使用开关 Check that link out to see how it works, it is pretty easy. 检查该链接以了解其工作原理,这非常简单。

As an example: 举个例子:

 $(document).keydown(function (e) {
  switch (e.keyCode) {
    case 17:
    var canvas = document.getElementById('image-canvas ');
    canvas.innerHTML = '<img src="alert.png" /> '
    canvas.innerHTML += '<audio src="winxpalert.mp3" autoplay="autoplay"> '
    break;

    case fooNumber:
    foo;
    break;
}});

To be honest I havn't tested the code, and I might've missed something since I havn't programmed keys in a while, but it should work. 老实说,我还没有测试过代码,而且由于我有一段时间没有对按键进行编程,所以我可能会错过一些东西,但是它应该可以工作。 Obviously change fooNumber for the keyCode you wish and foo for the code you want to execute on that key press. 显然,将fooNumber更改为所需的keyCode,将foo更改为要在该按键上执行的代码。

To make sure the keys are working, you can insert instead of foo something like 为了确保键正常工作,您可以插入而不是foo之类的东西,例如

alert("works") 警报(“工程”)

And see if it is working. 看看它是否在工作。

Anything else, let me know. 还有什么,让我知道。

Good luck! 祝好运! Cheers. 干杯。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM