Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
1
79
6
3.1
18
2

DOM の beforeinput イベントは、input または textarea 要素の値が変更されようとしているときに発生します。 このイベントは、HTMLElement.contentEditable が有効になっている要素、および Document.designMode がオンになっている要素にも適用されます。

60
79
87
10.1
60
10.3

InputEvent インターフェイスは、編集可能なコンテンツが変更されたことを通知するイベントを表します。

60
79
31
10.1
60
10.3

data は InputEvent インターフェイスの読み取り専用プロパティで、挿入された文字を文字列で返します。挿入されるテキストがない変更の場合、例えば文字が削除された場合は、これは空文字列になることがあります。

60
79
67
10.1
60
10.3

dataTransfer は InputEvent インターフェイスの読み取り専用プロパティで、 このプロパティは、編集可能なコンテンツに追加または削除されたリッチテキストまたはプレーンテキストデータに関する情報を含む DataTransfer オブジェクトを返します。

60
79
67
10.1
60
10.3

getTargetRanges() は InputEvent インターフェイスのメソッドで、入力イベントが取り消されない限り DOM の変更に影響される静的範囲を配列で返します。

60
79
87
10.1
60
10.3

InputEvent() コンストラクターは、新しい InputEvent オブジェクトを作成します。

60
79
31
10.1
60
10.3

inputType は InputEvent インターフェイスの読み取り専用プロパティで、編集可能なコンテンツの変更が行われた種別を返します。変更は例えば挿入、削除、テキスト整形などがあります。

60
79
66
10.1
60
10.3
inputType (insertFromPasteAsQuotation)
実験的

`insertFromPasteAsQuotation` 入力タイプ

67

InputEvent.isComposing は読み取り専用プロパティで、このイベントが Element/compositionstartevent の後、かつ Element/compositionendevent の前に発生したかどうかを示す論理値を返します。

60
79
31
16.4
60
16.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (79)
実装メモ
  • `select`、`checkbox`、または`radio`入力要素ではサポートされていません。

基本構文

JAVASCRIPT
addEventListener("input", (event) => { })

oninput = (event) => { }

実務での使いどころ

  • input (event) の活用

    input イベントは、 <input>, <select>, <textarea> の各要素の値 (value) が、ユーザーのアクション(テキストボックスに入力したり、チェックボックスを調べるなど)を直接的な原因変更された際に発行されます。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。