2014-04-05 97 views
1

我想听一个关键笔划,然后使用jquery将按下的键输出到class = letter元素内的每个span元素中。 在同一时间我想保留键盘快捷键原生浏览器的基本功能,例如。 shift + cmd +]; cmd + r; CTRL + TAB等等jquery:输出按键到html

<div class="letter"> 
<span>a</span> 
</div> 

这个jQuery工作得非常好于检测和outputing,我找的按键。

$(window).on("keypress", function (e) { 
       var t = e.which || e.keyCode; 
       if (e.which === 0 && e.keyCode > 0) return; 
        var n = String.fromCharCode(t); 
        $(".letter").find("span").html(n); 

       e.preventDefault(); 
     }); 

现在我需要以某种方式排除的快捷方式,但我想保持e.preventDefault();行,因为它的静音“错了按钮”的声音......

+0

什么按键特别是你想检测? – Mottie

+0

字母,数字,任何可从键盘访问的可表示为字形的东西。 – dyb

回答

1

也许你需要做的是检测ALT,CTRL和元键(demo):

$(window).on("keypress", function (e) { 
    var t = e.which || e.keyCode; 
    if (e.which === 0 && e.keyCode > 0 || e.altKey || e.ctrlKey || e.metaKey) { 
     return; 
    } 
    var n = String.fromCharCode(t); 
    $(".letter").find("span").html(n); 
    e.preventDefault(); 
}); 
+0

我想保持alt功能,所以我只剩下ctrl和meta。效果很好!谢谢! – dyb