Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web/API/KeyboardEvent を更新 #23086

Merged
merged 1 commit into from
Aug 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 21 additions & 49 deletions files/ja/web/api/keyboardevent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
title: KeyboardEvent
slug: Web/API/KeyboardEvent
l10n:
sourceCommit: 56c76424a5edb45f6716ac4ee48861dac8e7ae38
sourceCommit: cfb7587e3e3122630ad6cbd94d834ecadbe0a746
---

{{APIRef("UI Events")}}

**`KeyboardEvent`** オブジェクトは、キーボードによるユーザーの操作を示します。個々のイベントがユーザーとキーとの間の単一の操作(または修飾キーとの組み合わせ)を表します。イベントの種類 ({{domxref("Element/keydown_event", "keydown")}}, {{domxref("Element/keypress_event", "keypress")}}, {{domxref("Element/keyup_event", "keyup")}}) はキーボード操作が発生した種類を識別します。

> **メモ:** `KeyboardEvent` は、単にユーザーがキーボードのキーで行った操作が何であるかを低水準で示すものであり、その操作のその場面における意味は持ちません。テキストの入力を処理したい場合は、代わりに {{domxref("HTMLElement/input_event", "input")}} イベントを使用してください。ユーザーが他の種類のテキスト入力、例えば、タブレット端末やタブレット機器による手書き入力システムなどを使用している場合、キーボードイベントが発生することはありません。
> **メモ:** `KeyboardEvent` は、単にユーザーがキーボードのキーで行った操作が何であるかを低水準で示すものであり、その操作のその場面における意味は持ちません。テキストの入力を処理したい場合は、代わりに {{domxref("Element/input_event", "input")}} イベントを使用してください。ユーザーが他の種類のテキスト入力、例えば、タブレット端末やタブレット機器による手書き入力システムなどを使用している場合、キーボードイベントが発生することはありません。

{{InheritanceDiagram}}

Expand All @@ -20,7 +20,7 @@ l10n:

## 定数

`KeyboardEvent` インターフェースは、以下の定数を定義しています。
`KeyboardEvent` インターフェイスは、以下の定数を定義しています。

### キーボード上の位置

Expand Down Expand Up @@ -110,13 +110,6 @@ _このインターフェイスには、親である {{domxref("UIEvent")}} お
- : 論理値で、このイベントが `compositionstart` と `compositionend` の間に発生したものであれば `true` を返します。
- {{domxref("KeyboardEvent.key")}} {{ReadOnlyInline}}
- : 文字列で、このイベントが表すキーのキー値を表します。
- {{domxref("KeyboardEvent.locale")}} {{ReadOnlyInline}}

- : 文字列で、キーボードに設定されているロケールを示すロケール文字列を返します。ブラウザーや端末がキーボードのロケールを知らない場合は空文字列となります。

> [!NOTE]
> このプロパティは入力データのロケールを表すわけではありません。例えば、ユーザーが使用するキーボードレイアウトと入力テキストとで言語が異なる場合があります。

- {{domxref("KeyboardEvent.location")}} {{ReadOnlyInline}}
- : 数値で、キーボードなどの入力機器上のキーの位置を表す値を返します。位置を特定する定数の一覧は、上記の[キーボード上の位置](#キーボード上の位置)にあります。
- {{domxref("KeyboardEvent.metaKey")}} {{ReadOnlyInline}}
Expand All @@ -129,6 +122,19 @@ _このインターフェイスには、親である {{domxref("UIEvent")}} お

- : 論理値で、このキーイベントが発生した際に <kbd>Shift</kbd> キーが押されていれば `true` を返します。

### 古いプロパティ

- {{domxref("KeyboardEvent.charCode")}} {{Deprecated_inline}} {{ReadOnlyInline}}

- : キーの Unicode 参照番号を表す数値を返します。このプロパティは `keypress` イベントでのみ使用されます。 `char` プロパティが複数の文字を含むキーの場合、これはそのプロパティの最初の文字の Unicode 値です。Firefox 26 では、表示可能な文字のコードが返されます。

- {{domxref("KeyboardEvent.keyCode")}} {{deprecated_inline}} {{ReadOnlyInline}}

- : 押されたキーの修飾されていない値を識別する、システムおよび実装に依存する数値コードを表す数値を返します。

- {{domxref("KeyboardEvent.keyIdentifier")}} {{Non-standard_inline}} {{deprecated_inline}} {{ReadOnlyInline}}
- : このプロパティは標準外であり、{{domxref("KeyboardEvent.key")}} に置き換えられて非推奨とされています。これは、DOM Level 3 Events の古い版に含まれていました。

## インスタンスメソッド

_このインターフェイスには、親である {{domxref("UIEvent")}} および {{domxref("Event")}} から継承したメソッドもあります。_
Expand All @@ -137,47 +143,13 @@ _このインターフェイスには、親である {{domxref("UIEvent")}} お

- : そのイベントが発生した際に修飾キー (<kbd>Alt</kbd> / <kbd>Shift</kbd> / <kbd>Ctrl</kbd> / <kbd>Meta</kbd>) が押されていたかどうかを表す論理値を返します。

## 廃止されたメソッド
### 古いメソッド

- {{domxref("KeyboardEvent.initKeyEvent()")}} {{deprecated_inline}}
- : `KeyboardEvent` オブジェクトを初期化します。これは Firefox でのみ実装されていたものですが、もう Firefox でも対応していません。代わりに {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}} コンストラクターを使用してください。
- {{domxref("KeyboardEvent.initKeyboardEvent()")}} {{deprecated_inline}}
- : `KeyboardEvent` オブジェクトを初期化します。これは非推奨になりました。代わりに {{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}} コンストラクターを使用してください。

## 廃止されたプロパティ

- {{domxref("KeyboardEvent.char")}} {{Non-standard_inline}} {{Deprecated_inline}} {{ReadOnlyInline}}

- : このキーの文字値を表す文字列を返します。キーが表示可能な文字に対応している場合、この値はその文字を含む空でない Unicode 文字列となります。キーが表示可能な表現を持たない場合は、これは空文字列です。

> [!NOTE]
> キーが複数の文字を挿入するマクロとして使用されている場合、このプロパティの値は最初の文字だけでなく、文字列全体になります。

- {{domxref("KeyboardEvent.charCode")}} {{Deprecated_inline}}{{ReadOnlyInline}}

- : このキーの Unicode 参照番号を表す数値を返します。この属性は、`keypress` イベントでのみ使用されます。 `char` 属性が複数の文字を含むキーの場合、これはその属性の最初の文字の Unicode 値となります。 Firefox 26 では、これは表示可能な文字のコードを返します。

> [!WARNING]
> この属性は非推奨です。可能であれば、代わりに {{domxref("KeyboardEvent.key")}} を使用してください。

- {{domxref("KeyboardEvent.keyCode")}} {{deprecated_inline}} {{ReadOnlyInline}}

- : 押されたキーの修飾されていない値を示す、 システムや実装に依存した数値コードを数値で返します。

> [!WARNING]
> この属性は非推奨です。可能であれば、代わりに {{domxref("KeyboardEvent.key")}} を使用してください。

- {{domxref("KeyboardEvent.keyIdentifier")}} {{Non-standard_inline}} {{deprecated_inline}} {{ReadOnlyInline}}
- : このプロパティは標準外であり、{{domxref("KeyboardEvent.key")}} に置き換えられ非推奨になりました。これは DOM Level 3 Events の古い版に含まれていました。
- {{domxref("KeyboardEvent.keyLocation")}} {{Non-standard_inline}} {{deprecated_inline}} {{ReadOnlyInline}}
- : これは {{domxref("KeyboardEvent.location")}} の標準外で非推奨の別名です。これは DOM Level 3 Events の古い版に含まれていました。
- {{domxref("UIEvent.which")}} {{deprecated_inline}} {{ReadOnlyInline}}

- : 押されたキーの修飾されていない値を示す、 システムや実装に依存した数値コードを数値で返します。これは通常 `keyCode` と同じです。

> [!WARNING]
> この属性は非推奨です。可能であれば、代わりに {{domxref("KeyboardEvent.key")}} を使用してください。

## イベント

以下のイベントは `KeyboardEvent` 型に基づいています。以下のリストでは、各イベントは、そのイベントの `Element` のハンドラーのドキュメントにリンクしおり、これは一般的にすべての宛先、例えば {{domxref("Element")}}、{{domxref("Document")}}、{{domxref("Window")}} に適用されます。
Expand All @@ -187,7 +159,7 @@ _このインターフェイスには、親である {{domxref("UIEvent")}} お
- {{domxref("Element.keyup_event", "keyup")}}
- : キーが離されました。

### 廃止されたイベント
### 古いイベント

- {{domxref("Element.keypress_event", "keypress")}} {{deprecated_inline}}
- : 通常は文字値を生成するキーが押されました。このイベントは端末への依存度が高いため、廃止されました。使用すべきではありません。
Expand Down Expand Up @@ -288,10 +260,10 @@ document.addEventListener(

### 互換性のメモ

- Firefox 65 では、 `keypress` イベントは[表示可能でないキー](</ja/docs/Web/API/KeyboardEvent/keyCode#non-printable_keys_(function_keys)>)では発生しなくなりました([Firefox バグ 968056](https://bugzil.la/968056))が、 <kbd>Enter</kbd> キー、 <kbd>Shift</kbd> + <kbd>Enter</kbd> キー、 <kbd>Ctrl</kbd> + <kbd>Enter</kbd> キーの組み合わせでは発生します (これらはブラウザー間の互換性の目的のために維持されています)。
- Firefox 65 では、 `keypress` イベントは[表示可能でないキー](/ja/docs/Web/API/KeyboardEvent/keyCode#非表示キー(機能キー))では発生しなくなりました([Firefox バグ 968056](https://bugzil.la/968056))が、 <kbd>Enter</kbd> キー、 <kbd>Shift</kbd> + <kbd>Enter</kbd> キー、 <kbd>Ctrl</kbd> + <kbd>Enter</kbd> キーの組み合わせでは発生します (これらはブラウザー間の互換性の目的のために維持されています)。

## 関連情報

- {{domxref("KeyboardEvent.code")}}.
- {{domxref("KeyboardEvent.key")}}.
- {{domxref("KeyboardEvent.code")}}
- {{domxref("KeyboardEvent.key")}}
- {{domxref("KeyboardEvent.getModifierState()")}}