jquery判斷是否按下Enter(回車)和TAB鍵

    在jquery中,通過如下的方法,判斷是否按下了Enter(回車)

$('#textBox').keypress(function(event){  
    var keynum = (event.keyCode ? event.keyCode : event.which);  
    if(keynum == '13'){  
        alert('You pressed a "Enter" key in textbox');    
    }  
});  
  
$(document).keypress(function(event){  
    var keynum = (event.keyCode ? event.keyCode : event.which);  
    if(keynum == '13'){  
        alert('You pressed a "Enter" key in somewhere');      
    }  
});

    注意,Netscape/Firefox/Opera是支持 event.which去獲得鍵的ASCII碼,而IE是同時支持event.keyCode和event.which的。


    TAB的keynum是9。

    最後,取得keynum的流程也可以使用if進行判斷。

補充:jQuery獲取 Ctrl + Enter  Shift + Enter

    參考:http://www.cnblogs.com/top5/archive/2010/02/01/1660742.html

    jQuery中對鍵盤事件進行了修正,調用函數的時候傳入事件即可,通過事件的which可以找到鍵碼。不過當有組合鍵的時候,需要注意一下。

    如Ctrl + Enter,雖然都是用e.ctrlKey,但是Enter鍵的鍵碼不是始終爲13了。

    在FireFox中,判斷Ctrl + Enter是e.ctrlKey && e.which == 13

    而在IE6中,判斷Ctrl + Enter是e.ctrlKey && e.which == 10

    示例:

$(document).keypress(function(e){
        if(e.ctrlKey && e.which == 13 || e.which == 10) { 
                $("#btn").click();
        } else if (e.shiftKey && e.which==13 || e.which == 10) {
                $("#btnv").click();
        }          
 })

                                                                                                                                                                                                        10/21/2014, Tuesday

    該博客的博文總結:http://www.cnblogs.com/top5/category/202399.html


   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章