獲取 onKeyDown 事件以在 React 中使用 Div

Irakli Tchigladze 2022年5月18日
獲取 onKeyDown 事件以在 React 中使用 Div

現代 Web 應用程式必須在每次發生特定瀏覽器事件時偵聽事件並觸發函式以響應使用者操作。這些函式稱為事件處理程式,它們對於在 React 中構建動態應用程式至關重要。

onKeyDown 是 React 中最有用的事件之一。它允許開發人員跟蹤文字輸入並動態驗證其值。

今天的文章將討論如何在 React 中處理 onKeyDown 事件。

React 中的 onKeyDown 事件

onKeyDown 是處理文字輸入的最流行的事件之一。每次使用者在選擇文字輸入欄位時按下任意鍵時都會觸發此事件。

onKeyDown 和類似的 onKeyPress 事件之間的主要區別在於觸發它們的原因。onKeyDown 事件不區分用於鍵入值的鍵(數字、A-z 字母)和其他鍵(例如 shift)。

onKeyPress 僅對產生字母、數字或符號的事件觸發。onKeyDown 被認為是更現代和更廣泛支援的事件。

它也比 onKeyPress 事件更一致,無論你執行的是哪個版本的 React。

onKeyDown 用於 React 中的 div

在正常情況下,開發人員只在文字輸入上監聽 onKeyDown 事件。

<div> 元素通常是包裝器,不接受任何輸入。出於這個原因,<div> 元素的預設行為會阻止 onKeyDown 工作。

不過,無需擔心,因為一個簡單的修復允許我們將 onKeyDown 用於 <div> 元素。如果你想監聽 <div> 上的 onKeyDown 事件,你必須設定 tabIndex 屬性。

該屬性指示 <div> 元素是否可以被聚焦。它還使用 Tab 鍵處理鍵盤導航中元素的順序。

下面是一個可以監聽 onKeyDown 事件的 <div> 元素示例:

class App extends Component {
  render() {
    return <div tabIndex="0" onKeyDown={() => console.log('key pressed')}>
          Some div
          </div>;
  }
}

你可以在 playcode 上自己試用程式碼。

Irakli Tchigladze avatar Irakli Tchigladze avatar

Irakli is a writer who loves computers and helping people solve their technical problems. He lives in Georgia and enjoys spending time with animals.

LinkedIn

相關文章 - React Event