Skip to content

Commit

Permalink
2023/04/07 時点の英語版に同期
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Jul 27, 2023
1 parent 334cc1d commit 2d8f01d
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 58 deletions.
42 changes: 22 additions & 20 deletions files/ja/web/api/element/keydown_event/index.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
---
title: 'Element: keydown イベント'
title: "Element: keydown イベント"
short-title: keydown
slug: Web/API/Element/keydown_event
l10n:
sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf
---

{{APIRef}}

**`keydown`** イベントは、キーが押されたときに発生します。

{{domxref("Element/keypress_event", "keypress")}} イベントとは異なり、 `keydown` イベントは生成する文字値に関係なくすべてのキーで発生します。
非推奨の {{domxref("Element/keypress_event", "keypress")}} イベントとは異なり、 `keydown` イベントは生成する文字値に関係なくすべてのキーで発生します。

`keydown`[`keyup`](/ja/docs/Web/API/Element/keyup_event) イベントは、どのキーが押されたかを示すコードを提供し、 `keypress` はどの文字が入力されたかを示します。例えば、小文字の "a" は `keydown``keyup` では 65 と報告され、 `keypress` では 97 と報告されます。大文字の "A" は、どのイベントでも 65 と報告されます。

キーボードイベントは `<inputs>`, `<textarea>` `contentEditable` 属性または `tabindex="-1"` を持つものだけが生成します
キーボードイベントは `<input>`, `<textarea>`, `<summary>` `contentEditable` または `tabindex` 属性を持つものだけが生成します。捕捉されなかった場合、それらは {{domxref("Document")}} に到達するまで [DOM ツリー](/ja/docs/Web/API/Document_object_model/Using_the_Document_Object_Model#what_is_a_dom_tree)[バブリング](/ja/docs/Learn/JavaScript/Building_blocks/Events#イベントのバブリングとキャプチャリング)します

Firefox 65 以降では、CJKT ユーザーのブラウザー間の互換性を高めるために、 `keydown` および [`keyup`](/ja/docs/Web/API/Element/keyup_event) イベントが IME 変換中に発行されるようになりました([Firefox バグ 354358](https://bugzil.la/354358))。変換操作中の `keydown` イベントをすべて無視するには、次のようにしてください (229 は、IME によって処理されたイベントに関連する `keyCode` に設定される特別な値です)。

```js
eventTarget.addEventListener("keydown", event => {
eventTarget.addEventListener("keydown", (event) => {
if (event.isComposing || event.keyCode === 229) {
return;
}
Expand All @@ -29,7 +32,7 @@ eventTarget.addEventListener("keydown", event => {
イベント名を {{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドで使用したり、イベントハンドラープロパティを設定したりします。

```js
addEventListener('keydown', (event) => {});
addEventListener("keydown", (event) => {});

onkeydown = (event) => { };
```
Expand All @@ -44,39 +47,39 @@ onkeydown = (event) => { };

_このインターフェイスには親である {{domxref("UIEvent")}} や {{domxref("Event")}} から継承したプロパティもあります。_

- {{domxref("KeyboardEvent.altKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.altKey")}} {{ReadOnlyInline}}

- : 論理値で、このキーイベントが発生した際に <kbd>Alt</kbd> (macOS の場合は <kbd>Option</kbd> または <kbd>⌥</kbd>)キーが押されていれば `true` を返します。

- {{domxref("KeyboardEvent.code")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.code")}} {{ReadOnlyInline}}

- : 文字列で、このイベントが表す物理キーのコード値を返します。

> **警告:** これはユーザーのキーボードレイアウトを無視します。つまり、ユーザーが QWERTY キーボードレイアウトの "Y" の位置(ホーム行の上の行の中央付近)でキーを押した場合、ユーザーが QWERTZ キーボード(これはユーザーが "Z" を期待し、他のすべてのプロパティが "Z" を示すことになる)または Dvorak キーボードレイアウト(これはユーザーが "F" を期待する)であっても、常に "KeyY" を返します。ユーザーに正しいキーストロークを表示したい場合は、 {{domxref("Keyboard.getLayoutMap()")}} を使用してください。
- {{domxref("KeyboardEvent.ctrlKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.ctrlKey")}} {{ReadOnlyInline}}

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

- {{domxref("KeyboardEvent.isComposing")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.isComposing")}} {{ReadOnlyInline}}
- : 論理値で、このイベントが `compositionstart``compositionend` の間に発生したものであれば `true` を返します。
- {{domxref("KeyboardEvent.key")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.key")}} {{ReadOnlyInline}}
- : 文字列で、このイベントが表すキーのキー値を表します。
- {{domxref("KeyboardEvent.locale")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.locale")}} {{ReadOnlyInline}}

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

> **メモ:** このプロパティは入力データのロケールを表すわけではありません。例えば、ユーザーが使用するキーボードレイアウトと入力テキストとで言語が異なる場合があります。
- {{domxref("KeyboardEvent.location")}} {{Readonlyinline}}
- : 数値で、キーボードなどの入力機器上のキーの位置を表す値を返します。位置を特定する定数の一覧は、上記の[キーボード上の位置](#キーボード上の位置)にあります。
- {{domxref("KeyboardEvent.metaKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.location")}} {{ReadOnlyInline}}
- : 数値で、キーボードなどの入力機器上のキーの位置を表す値を返します。位置を特定する定数の一覧は、上記の[キーボード上の位置](/ja/docs/Web/API/KeyboardEvent#キーボード上の位置)にあります。
- {{domxref("KeyboardEvent.metaKey")}} {{ReadOnlyInline}}

- : 論理値で、このキーイベントが発生した際に <kbd>Meta</kbd> キー(Mac キーボードでは <kbd>⌘ Command</kbd> キー、 Windows キーボードでは Windows キー (<kbd>⊞</kbd>))が押されていれば `true` を返します。

- {{domxref("KeyboardEvent.repeat")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.repeat")}} {{ReadOnlyInline}}
- : 論理値で、このキーが押し続けられて自動リピートしている場合に `true` を返します。
- {{domxref("KeyboardEvent.shiftKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.shiftKey")}} {{ReadOnlyInline}}

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

Expand All @@ -92,10 +95,10 @@ _このインターフェイスには親である {{domxref("UIEvent")}} や {{d
```

```js
const input = document.querySelector('input');
const log = document.getElementById('log');
const input = document.querySelector("input");
const log = document.getElementById("log");

input.addEventListener('keydown', logKey);
input.addEventListener("keydown", logKey);

function logKey(e) {
log.textContent += ` ${e.code}`;
Expand Down Expand Up @@ -123,4 +126,3 @@ input.onkeydown = logKey;
- [`input`](/ja/docs/Web/API/HTMLElement/input_event)
- [`keypress`](/ja/docs/Web/API/Element/keypress_event)
- [`keyup`](/ja/docs/Web/API/Element/keyup_event)
- [Document の `keydown` イベント](/ja/docs/Web/API/Document/keydown_event)
39 changes: 21 additions & 18 deletions files/ja/web/api/element/keypress_event/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: 'Element: keypress イベント'
title: "Element: keypress イベント"
short-title: keypress
slug: Web/API/Element/keypress_event
l10n:
sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf
---

{{APIRef}} {{deprecated_header}}
Expand All @@ -16,9 +19,9 @@ slug: Web/API/Element/keypress_event
イベント名を {{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドで使用したり、イベントハンドラープロパティを設定したりします。

```js
addEventListener('keypress', (event) => {});
addEventListener("keypress", (event) => {});

onkeypress = (event) => { };
onkeypress = (event) => {};
```

## イベント型
Expand All @@ -31,39 +34,39 @@ onkeypress = (event) => { };

_このインターフェイスには親である {{domxref("UIEvent")}} や {{domxref("Event")}} から継承したプロパティもあります。_

- {{domxref("KeyboardEvent.altKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.altKey")}} {{ReadOnlyInline}}

- : 論理値で、このキーイベントが発生した際に <kbd>Alt</kbd> (macOS の場合は <kbd>Option</kbd> または <kbd>⌥</kbd>)キーが押されていれば `true` を返します。

- {{domxref("KeyboardEvent.code")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.code")}} {{ReadOnlyInline}}

- : 文字列で、このイベントが表す物理キーのコード値を返します。

> **警告:** これはユーザーのキーボードレイアウトを無視します。つまり、ユーザーが QWERTY キーボードレイアウトの "Y" の位置(ホーム行の上の行の中央付近)でキーを押した場合、ユーザーが QWERTZ キーボード(これはユーザーが "Z" を期待し、他のすべてのプロパティが "Z" を示すことになる)または Dvorak キーボードレイアウト(これはユーザーが "F" を期待する)であっても、常に "KeyY" を返します。ユーザーに正しいキーストロークを表示したい場合は、 {{domxref("Keyboard.getLayoutMap()")}} を使用してください。
- {{domxref("KeyboardEvent.ctrlKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.ctrlKey")}} {{ReadOnlyInline}}

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

- {{domxref("KeyboardEvent.isComposing")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.isComposing")}} {{ReadOnlyInline}}
- : 論理値で、このイベントが `compositionstart``compositionend` の間に発生したものであれば `true` を返します。
- {{domxref("KeyboardEvent.key")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.key")}} {{ReadOnlyInline}}
- : 文字列で、このイベントが表すキーのキー値を表します。
- {{domxref("KeyboardEvent.locale")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.locale")}} {{ReadOnlyInline}}

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

> **メモ:** このプロパティは入力データのロケールを表すわけではありません。例えば、ユーザーが使用するキーボードレイアウトと入力テキストとで言語が異なる場合があります。
- {{domxref("KeyboardEvent.location")}} {{Readonlyinline}}
- : 数値で、キーボードなどの入力機器上のキーの位置を表す値を返します。位置を特定する定数の一覧は、上記の[キーボード上の位置](#キーボード上の位置)にあります。
- {{domxref("KeyboardEvent.metaKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.location")}} {{ReadOnlyInline}}
- : 数値で、キーボードなどの入力機器上のキーの位置を表す値を返します。位置を特定する定数の一覧は、[キーボード上の位置](/ja/docs/Web/API/KeyboardEvent#キーボード上の位置)にあります。
- {{domxref("KeyboardEvent.metaKey")}} {{ReadOnlyInline}}

- : 論理値で、このキーイベントが発生した際に <kbd>Meta</kbd> キー(Mac キーボードでは <kbd>⌘ Command</kbd> キー、 Windows キーボードでは Windows キー (<kbd>⊞</kbd>))が押されていれば `true` を返します。

- {{domxref("KeyboardEvent.repeat")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.repeat")}} {{ReadOnlyInline}}
- : 論理値で、このキーが押し続けられて自動リピートしている場合に `true` を返します。
- {{domxref("KeyboardEvent.shiftKey")}} {{Readonlyinline}}
- {{domxref("KeyboardEvent.shiftKey")}} {{ReadOnlyInline}}

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

Expand All @@ -76,16 +79,16 @@ _このインターフェイスには親である {{domxref("UIEvent")}} や {{d
```html
<div>
<label for="sample">この入力欄にフォーカスを当てて、何か入力してください。</label>
<input type="text" name="text" id="sample">
<input type="text" name="text" id="sample" />
</div>
<p id="log"></p>
```

```js
const log = document.getElementById('log');
const input = document.querySelector('input');
const log = document.getElementById("log");
const input = document.querySelector("input");

input.addEventListener('keypress', logKey);
input.addEventListener("keypress", logKey);

function logKey(e) {
log.textContent += ` ${e.code}`;
Expand Down
Loading

0 comments on commit 2d8f01d

Please sign in to comment.