2012-04-17 160 views
8

我發現刪除鍵不會觸發Chrome中的keypress事件,而其他按鍵可以正常工作。這個問題在Firefox中不會發生,只是在Chrome中,爲什麼?這裏是我的代碼:按下刪除鍵時無法觸發按鍵事件

document.addEventListener('keypress', function (e) { 
    console.log(e); 
}, false); 

回答

14

使用​​或keyup相反,它抓住了刪除鍵(以及其他人的按鍵並不見http://www.quirksmode.org/js/keys.html

document.addEventListener('keydown', function (e) { 
    console.log(e); 
}, false); 
+0

對不起,我已經定義了我的代碼中的函數日誌,我忘了把它添加到問題 – qiu8310 2012-04-17 08:35:08

+0

非常感謝你很多,它真的有幫助! – qiu8310 2012-04-17 08:38:49

+0

@ qiu8310沒問題!確保你接受答案,如果它解決了你的問題:) – 2012-04-17 08:40:13

2

keypress事件(Del鍵,結束,首頁等。)不是在IE,Chrome和safari ..它只能在firefox中工作。

因此,您可以使用keyup或​​事件,因爲keypress事件用於實際(可打印)字符。 "keydown"是在較低的水平,所以它會捕獲所有非打印鍵像DEL,結束等