按鍵事件按鍵標識:.keyCode 與.which
在處理按鍵事件時,開發人員經常面臨使用.keyCode 和.keyCode之間的選擇.確定擊鍵。雖然兩者都用於識別按鍵,但存在細微的差異和跨瀏覽器相容性考慮。
歷史上,.keyCode 被廣泛用於檢測按鍵,但其支援在不同瀏覽器之間不一致。有些使用字元的 Unicode 程式碼,而有些則使用特定於平台的值。這種不一致可能會導致跨瀏覽器應用程式出現意外行為。
另一方面,.which 是一種更規範化的方法。它傳回一個代表密鑰邏輯標識符的標準化值,無論瀏覽器或平台如何。但是,舊版瀏覽器可能不支援它。
為了解決潛在的跨瀏覽器問題,jQuery 透過始終使用 .which 來標準化按鍵行為。它將來自不同瀏覽器的非標準化值轉換為一致的格式,使其成為跨瀏覽器相容性的可靠選擇。
如果使用普通JavaScript,開發人員可以透過使用這兩個屬性的組合來確保瀏覽器相容性,如下所示如下:
<code class="js">var key = 'which' in e ? e.which : e.keyCode;</code>
此程式碼檢查.which 是否在事件物件中定義;如果是這樣,它就使用它的值。否則,它會回退到使用 .keyCode。
或者,可以使用更簡潔的方法:
<code class="js">var key = e.which || e.keyCode || 0;</code>
此表達式通過將.which 恢復為0 來處理.which 為0 的可能性最後的值,利用JavaScript 強大的邏輯或運算子(||)。
以上是`.keyCode` 與 `.which`:哪一個是最好的按鍵事件按鍵識別碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!