jquery如何判斷是否按下了Enter鍵

huowuyou發表於2020-12-16

jquery判斷是否按下了Enter鍵的方法:使用keynum方法判斷,程式碼為【$('#textBox').keypress(function(event){var keynum = (event.keyCode ?event.keyC】。



本教程操作環境:windows7系統、jquery3.2.1版本,該方法適用於所有品牌電腦。

推薦:jquery視訊教程

jquery判斷是否按下了Enter鍵的方法:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

$('#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的。

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

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

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

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

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

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

示例:

1

2

3

4

5

6

7

$(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();

        }         

 })

相關免費學習推薦:javascript(視訊)

相關文章