正确的键盘点击方式?

时间:2012-06-25 17:21:42

标签: javascript html key

在HTML文件中,我只有一个简单的东西来检测点击次数:

<body onload="document.body.focus()" onkeyup="return keypressed(event)">

在调用它的JavaScript中,我们有:

function keypressed(e) { 
    var intKey = (window.Event) ? e.which : e.keyCode;
    if(intKey==13) {/* If enter is clicked, do something */ return false;}
    // Add as many key detects under here...
    return true;
}

这是点击后检查的好方法吗?我问的原因只是我已经用了很长时间,只是想知道是否有更好的方法。

为了记录,这个问题的目的是找到最好的方法。我的意思是有和没有jQuery!

3 个答案:

答案 0 :(得分:1)

更好的方法是全局收听特定对象,而不是正文按键。

在JQuery中,这将完成:

$('#el').on('keydown', function(e){
    if(e.which == 13){
        alert('keypressed');
    }
});

答案 1 :(得分:1)

不确定跨浏览器,但在ChromeFirefox进行了测试,如果这有帮助

window.onload=function(){
    document.body.onkeyup=function(e){
       var keyCode = (window.event) ? event.keyCode : e.which;     
       if(keyCode==13)
       {
           return false;
       }
       else
       {
           //alert(keyCode);
           // do something...
       }
    };
}

答案 2 :(得分:0)

使用JQuery,它可以在浏览器之间对关键代码和事件属性进行同质化,并帮助您保持HTML文件中的内联代码:

$( document ).ready( function() {
   $( this ).keypress( function( event ) {
      alert( event.which );
   };
} );