Javascript 使用jQuery按下键时显示图像

Javascript 使用jQuery按下键时显示图像,javascript,jquery,Javascript,Jquery,我正在尝试制作一个简单的应用程序,当用户按下键盘上的一个键时,就会出现与该字母对应的图像。我想对整个字母表(a,b,c…)都这样做 如果a被按下,a.jpg会出现在我的页面上,如果r被按下,r.jpg会出现,依此类推 我本来打算用一大串if-else语句来做这件事的,但我肯定还有别的方法 var ctrlPressed = false; $(window).keydown(function(evt) { if (evt.which == 17) { // ctrl ctrlPress

我正在尝试制作一个简单的应用程序,当用户按下键盘上的一个键时,就会出现与该字母对应的图像。我想对整个字母表(a,b,c…)都这样做

如果a被按下,a.jpg会出现在我的页面上,如果r被按下,r.jpg会出现,依此类推

我本来打算用一大串if-else语句来做这件事的,但我肯定还有别的方法

var ctrlPressed = false;
$(window).keydown(function(evt) {
  if (evt.which == 17) { // ctrl
    ctrlPressed = true;
      alert('sdf');
  }
})

我将这样做:

var letters = "abcdefghijklmnopqrstuvwxyz";
letters = letters.split("");
//I'm lazy; you should define an array of letters

$(window).keydown(function(e){
    key = e.which - 65; //makes a-z = 1-27
    key = letters[key];
    $('img[src="' + key + '.jpg"]').show();
}
这是一张工作票

来源




索引映射到evt.which值的图像引用数组怎么样

var images=[];
images[64]='a.jpg';
images[65]='b.jpg';
images[66]='c.jpg';
//...etc...

$(window).keydown(function(evt) {
    var image=images[evt.which]'
    if(image){
        alert(image);
    }
})

有点难看,可能不是最有效的,但很容易理解:)

我会得到键值,然后再匹配一次A-z。尝试以下方法:

$(window).keydown(function(e) {
    var key = String.fromCharCode(e.which).toLowerCase();
    if(/[a-z]/i.test(key)) {
        alert(key+'.jpg');
    }
});

演示:

似乎是字母对应ASCII值的事件。因此,您可以执行以下操作:

$(window).keydown(function(evt) {
  if (evt.which >= 65 && evt.which <= 90){
    $('img[src="' + String.fromCharCode(evt.which).toLowerCase() + '.jpg"]').show();        
  }
});
$(窗口).keydown(函数(evt){

如果(evt.which>=65&&evt.which,则应使用字母键代码命名图像文件

例如,输入的字母“a”必须命名为“97.jpg”

因此,您可以从jquery调用它,如下所示:

$(document).ready(function(){
    $("#input").bind('keypress', function (e) {
        console.log(e.which);  //or alert(e.which);  
        $("#Image").attr("src", e.which + ".jpg");
    });
});

为什么你的例子是关于
ctrl
键的,而问题是关于a-z键的?你是在问如何映射f.ex
ctrl+a
?与其得到
keyCode
,我建议你得到它的值,并结合后缀
key\u value+”。jpg“
,它更简单