猿问

检测javascript中按键的最简单方法

我有一个使用javascript进行游戏的想法(我将使用EaselJS进行开发),并且我将不得不检测按键。在互联网上四处浏览后,我看到了很多建议(使用window.onkeypress,使用jQuery等),但是几乎每个选项都有一个反对意见。你们有什么建议?使用jQuery听起来很容易,但是我实际上对该库没有任何经验(而且我也不是JavaScript的资深人士),所以我宁愿避免使用它。如果jQuery是最好的选择,那么有人可以举一个很好的例子(说明会很棒)吗?

我猜这被问了很多,但是我找不到任何明确的答案。提前致谢!


PIPIONE
浏览 510回答 3
3回答

慕容708150

KEYPRESS (输入键)香草:document.addEventListener("keypress", function(event) {    if (event.keyCode == 13) {        alert('hi.')    }})香草速记:this.addEventListener('keypress', event => {    if (event.keyCode == 13) {        alert('hi.')    }})jQuery的:$(this).on('keypress', function(event) {    if (event.keyCode == 13) {        alert('hi.')    }})jQuery经典:$(this).keypress(function(event) {    if (event.keyCode == 13) {        alert('hi.')    }})jQuery简写:$(this).keypress((e) => {    if (e.which == 13) {        alert('hi.')    }})甚至更短:$(this).keypress(e=>    e.which==13?    alert('hi.'):null)

繁华开满天机

使用event.key和现代的JS!没有数字代码了。您可以使用"Enter","ArrowLeft","r",或任意键名称直接,使你的代码更具可读性。document.addEventListener("keypress", function onEvent(event) {    if (event.key === "ArrowLeft") {        // Move Left    }    else if (event.key === "Enter") {        // Open Menu...    }});
随时随地看视频慕课网APP
我要回答