2017-02-24 56 views
2

我想做些事情,如果用戶在文本框中鍵入時按下Tab鍵。但下面的代碼無法處理選項卡按鈕。我爲「Enter」嘗試了「13」,它工作,但我不知道爲什麼它不適用於Tab。Jquery keypress()事件不捕獲Tab鍵代碼

我認爲這可能是因爲按Tab鍵時文本框失去焦點。如果是這種情況,當人們按下此文本框中的選項卡時,如何防止丟失焦點?

謝謝。

$("#tagInpKey").keypress(function (e) { 
    if (e.which == 9) { 
     alert("Tab Pressed"); 
    } 
}); 
+0

使用'keydown'事件來代替。 – Mohammad

+0

@Mhamhammad有沒有一種方法可以防止損失焦點? –

+0

@RoryMcCrossan發佈的答案不會失去焦點,所以應該解決您的問題。 – G0dsquad

回答

2

documentation

的按鍵事件被髮送到當瀏覽器登記鍵盤輸入的元件。這與keydown事件類似,區別在於修飾符和非打印鍵(例如Shift,Esc和刪除)觸發了按鍵事件,但沒有按鍵事件

爲了解決這個問題,使用​​代替:

$("#tagInpKey").keydown(function (e) { 
    if (e.which == 9) { 
     alert("Tab Pressed"); 
    } 
}); 
+0

謝謝。它完美的作品。 –