0

在 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!

4

3 回答 3

1

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

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...
       }
    };
}
于 2012-06-25T18:17:24.283 回答
1

更好的方法是全局监听特定对象而不是主体以进行按键操作。

在 JQuery 中,这将是这样完成的:

$('#el').on('keydown', function(e){
    if(e.which == 13){
        alert('keypressed');
    }
});
于 2012-06-25T17:26:14.753 回答
0

使用 JQuery,它可以在浏览器之间同质化关键代码和事件属性,并帮助您将内联代码排除在 HTML 文件之外:

$( document ).ready( function() {
   $( this ).keypress( function( event ) {
      alert( event.which );
   };
} );
于 2012-06-25T17:29:38.993 回答