MouseEvent.getModifierState() - キーの状態
getModifierState()は、MouseEventのメソッドです。引数のキーを押しているか否かを返します。
概要
- 名前
- getModifierState
- 所属
- MouseEvent
- IDL
boolean getModifierState(DOMString keyArg);
- 仕様書
- https://w3c.github.io/uievents/#dom-mouseevent-getmodifierstate
説明
引数(keyArg)には、ボタンを表す文字列を指定します。
デモ
MouseEvent.getModifierState()のデモです。div要素にmousemoveイベントを設定しました。shiftキーを押しながら、ポインタを動かしてみて下さい。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div#hoge {
min-height: 120px ;
background-color: red ;
}
div#result {
white-space: pre-wrap ;
}
</style>
</head>
<body>
<div id="hoge"></div>
<hr>
<div id="result"></div>
<script>
/** try it! **/
var callbackFn = function ( event ) {
var value = event.getModifierState( "Shift" ) ;
// var value = event.getModifierState( "Alt" ) ;
// var value = event.getModifierState( "Control" ) ;
if ( value !== lastValue ) {
console.log( value ) ;
resultElement.innerHTML = "" ;
resultElement.appendChild( new Text( "currentTarget: " + event.currentTarget + "(#" + event.currentTarget.id + ")" + "\n" ) ) ;
resultElement.appendChild( new Text( "getModifierState(): " + value ) ) ;
}
lastValue = value ;
} ;
var lastValue ;
document.getElementById( "hoge" ).addEventListener( "mousemove", callbackFn ) ;
/** try it! **/
var resultElement = document.getElementById( "result" ) ;
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● 47+ | ● 15+ | × | ● | ● 9+ | ● 34+ | × | × |
関連記事
- MouseEvent.ctrlKey
- ctrlKeyは、MouseEventのプロパティです。イベント発生時にcontrolキーが押されているか否かを返します。
- MouseEvent.altKey
- altKeyは、MouseEventのプロパティです。イベント発生時にaltキーが押されているか否かを返します。
- MouseEvent()
- MouseEvent()は、MouseEventのコンストラクタです。新しいオブジェクトを作成します。
- MouseEvent.buttons
- buttonsは、MouseEventのプロパティです。イベント中、どのポインタデバイスのボタンを押しているかを表す数値を返します。buttonと似ていますが、ボタンに該当する数値が違う点、同時押しを判定できる点で違います。