2009-07-12 76 views
100

當使用jQuery文檔中的示例代碼作爲按鍵事件處理程序時,我無法捕獲刪除密鑰。下面的代碼片段是要登錄0刪除按鍵在FireFox:使用jQuery捕獲「刪除」按鍵

$(document).keypress(function(e) { 
    console.log(e.which);  
}); 

似乎還有得是捕捉刪除鍵的方式,但它是一個含糊的字眼,以便谷歌不證明對它有很大的幫助。

回答

176

你不應該使用keypress事件,但由於keypress事件用於實(打印)字符keyup或​​事件。​​在較低級別處理,因此它將捕獲所有非打印鍵,如刪除輸入

+2

謝謝你,先生! – 2009-07-12 15:42:07

+0

感謝您的有用信息。 – 2015-04-20 13:02:38

+0

你的信息解決了我的問題。謝謝 – 2017-04-18 07:51:13

25

的Javascript鍵碼

  • e.keyCode == 8爲退格
  • e.keyCode == 46爲向前退格在PC的

刪除按鈕除了這個細節科林&託德的回答是工作。

1

event.key === 「刪除」

最近的和更清潔:使用event.key。沒有更多的任意數字代碼!

document.addEventListener('keydown', function(event) { 
    const key = event.key; // const {key} = event; ES6+ 
    if (key === "Delete") { 
     // Do things 
    } 
}); 

Mozilla Docs

Supported Browsers