KeyboardEvent - キーボードイベント
KeyboardEventは、キーボード操作に関連するイベントで取り扱われるインターフェイスです。
概要
- 名前
- KeyboardEvent
- 継承
- IDL
[Constructor(DOMString type, optional KeyboardEventInit eventInitDict), Exposed=Window] interface KeyboardEvent : UIEvent { // KeyLocationCode const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00; const unsigned long DOM_KEY_LOCATION_LEFT = 0x01; const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02; const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03; readonly attribute DOMString key; readonly attribute DOMString code; readonly attribute unsigned long location; readonly attribute boolean ctrlKey; readonly attribute boolean shiftKey; readonly attribute boolean altKey; readonly attribute boolean metaKey; readonly attribute boolean repeat; readonly attribute boolean isComposing; boolean getModifierState(DOMString keyArg); }; dictionary KeyboardEventInit : EventModifierInit { DOMString key = ""; DOMString code = ""; unsigned long location = 0; boolean repeat = false; boolean isComposing = false; }; dictionary EventModifierInit : UIEventInit { boolean ctrlKey = false; boolean shiftKey = false; boolean altKey = false; boolean metaKey = false; boolean modifierAltGraph = false; boolean modifierCapsLock = false; boolean modifierFn = false; boolean modifierFnLock = false; boolean modifierHyper = false; boolean modifierNumLock = false; boolean modifierScrollLock = false; boolean modifierSuper = false; boolean modifierSymbol = false; boolean modifierSymbolLock = false; }; dictionary UIEventInit : EventInit { Window? view = null; long detail = 0; }; dictionary EventInit { boolean bubbles = false; boolean cancelable = false; boolean composed = false; };
// KeyboardEvent partial interface KeyboardEvent { // The following support legacy user agents readonly attribute unsigned long charCode; readonly attribute unsigned long keyCode; };
- 仕様書
- https://w3c.github.io/uievents/#keyboardevent
- https://w3c.github.io/uievents/#legacy-interface-KeyboardEvent (KeyboardEvent)
チュートリアル
KeyboardEventは、keydownイベントやkeyupイベントなどでコールバック関数に渡されるオブジェクトです。
var callbackFn = function ( event ) {
console.log( event ) ;
}
element.onkeydown = callbackFn ;
element.onkeyup = callbackFn ;
コンストラクタ
KeyboardEvent()
新しいKeyboardEventのオブジェクトを作成します。
プロパティ
altKey
イベント発生時にaltキーが押されているか否かを返します。
charCode
イベントを発生させたボタンに対応するコードを返します。このイベントはkeypressイベントで有効です。
code
イベントを発生させたボタンに対応するコードを文字列で返します。
ctrlKey
イベント発生時にcontrolキーが押されているか否かを返します。
isComposing
入力が未確定か否かを返します。
key
イベントを発生させたボタンの値を返します。
keyCode
イベントを発生させたボタンに対応するコードを返します。
location
イベントを発生させたボタンの、キーボード上の位置を数値で返します。
metaKey
イベント発生時にmetaキーが押されているか否かを返します。
repeat
イベントが、ボタンの押しっ放しによる繰り返し入力により発生したか否かを返します。
shiftKey
イベント発生時にShiftキーが押されているか否かを返します。
メソッド
getModifierState()
引数のキーを押しているか否かを返します。
定数
DOM_KEY_LOCATION_LEFT
0x01を返します。この値は、キーボードにおけるボタンの位置が左側であることを表します。
DOM_KEY_LOCATION_NUMPAD
0x03を返します。この値は、キーボードにおけるボタンの位置がテンキーの位置であることを表します。
DOM_KEY_LOCATION_RIGHT
0x02を返します。この値は、キーボードにおけるボタンの位置が右側であることを表します。
DOM_KEY_LOCATION_STANDARD
0x00を返します。この値は、キーボードにおけるボタンの位置がスタンダードな位置(中央の英数字など)であることを表します。
イベント
固有のイベントハンドラはありません。
サポート状況
クリックすると、バージョンごとの対応状況を確認できます。
Features | Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|---|
KeyboardEvent | 確認中 | 確認中 | 確認中 | 確認中 | 確認中 | 確認中 | 確認中 | 確認中 |
altKey | ● 43+ | ● | ● 7.1+ | ● | ● | ● | ● 7.0+ | ● |
charCode | ● 43+ | ● | ● 7.1+ | ● | ● 9+ | ● 15+ | ● 7.0+ | ● |
code | ● 48+ | ● 38+ | ● 10+ | × | × | ● 35+ | ● 11.0+ | × |
ctrlKey | ● 19+ | ● 5+ | ● 6.0+ | ● | ● | ● | ● 6.0+ | ● 4.3+ |
DOM_KEY_LOCATION_LEFT | ● 30+ | ● 15+ | ● 7.1+ | ● | ● 9+ | ● 17+ | ● 8.3+ | ● 4.4+ |
DOM_KEY_LOCATION_NUMPAD | ● 30+ | ● 15+ | ● 7.1+ | ● | ● 9+ | ● 17+ | ● 8.3+ | ● 4.4+ |
DOM_KEY_LOCATION_RIGHT | ● 30+ | ● 15+ | ● 7.1+ | ● | ● 9+ | ● 17+ | ● 8.3+ | ● 4.4+ |
DOM_KEY_LOCATION_STANDARD | ● 30+ | ● 15+ | ● 7.1+ | ● | ● 9+ | ● 17+ | ● 8.3+ | ● 4.4+ |
getModifierState() | ● 30+ | ● 15+ | ● 10+ | ● | ● 9+ | ● 17+ | ● 10.0+ | ● 4.4+ |
isComposing | ● 56+ | ● 31+ | ● 10+ | × | × | ● 45+ | ● 10.0+ | × |
key | ● 51+ | ● 23+ | ● 10+ | ● | ● 9+ | ● 38+ | ● 10.0+ | × |
KeyboardEvent() | ● 26+ | ● 31+ | ● 7.1+ | ● | × | ● 15+ | ● 7.0+ | ● 4.4+ |
keyCode | ● 43+ | ● | ● 7.1+ | ● | ● | ● | ● 7.0+ | ● |
location | ● 43+ | ● 15+ | ● 7.1+ | ● | ● 9+ | ● 17+ | ● 8.3+ | ● 4.4+ |
metaKey | ● 43+ | ● | ● 7.1+ | ● | ● 9+ | ● | ● 7.0+ | ● |
repeat | ● 43+ | ● 28+ | ● 10+ | ● | ● | ● 19+ | ● 10.0+ | × |
shiftKey | ● 19+ | ● 5+ | ● 6.0+ | ● | ● | ● | ● 6.0+ | ● 4.3+ |
関連記事
- Selection.deleteFromDocument()
- deleteFromDocument()は、Selectionのメソッドです。選択範囲のコンテンツを削除します。
- Selection.removeAllRanges()
- removeAllRanges()は、Selectionのメソッドです。全ての選択範囲を解除します。
- Selection.removeRange()
- removeRange()は、Selectionのメソッドです。1つの選択範囲を解除します。
- Selection.rangeCount
- rangeCountは、Selectionのプロパティです。Selectionに含まれるRangeの数を返します。これは選択範囲の数を表します。飛び飛びで選択できる場合は複数になりますが、通常は1です。