2010-10-12 94 views
7

我不是問這個,因爲我需要一個工作環境。我有一個工作正常,但我想知道爲什麼它沒有。在JavaScript(或JQuery,因爲我正在使用JQuery .keypress處理程序)這個錯誤還是有一個特定的原因,爲什麼這是這樣的?爲什麼沒有按鍵處理刪除鍵和退格鍵

在此先感謝。

回答

15

keypress事件設計用於處理用戶輸入的字符,而不是檢測鍵盤活動,並且刪除和退格鍵不會生成字符。有些瀏覽器模糊了這一行,但總體原則是,keyup和​​事件可以檢測到任何按鍵被按下,並告訴你它是哪個鍵,而keypress用於檢測鍵入的實際字符。

2

簡短的回答是onkeypress事件並非針對所有瀏覽器中的所有鍵類型觸發的。查看您的瀏覽器手冊。

爲什麼?

可能不是一個全面的答案,但考慮Shift,當它下降,並且它出現時相對於其他鍵是顯着的。不同的鍵盤硬件具有不同的鍵盤翻轉特性,您可能需要詳細瞭解這些特性。