javascriptで左右どちらのシフトキーが押されたのか判別する方法| プロサバメモ

WEBプログラミングやサーバ設定などのメモ場

javascriptで左右どちらのシフトキーが押されたのか判別する方法

2022.05.28

event.locationとKeyboardEventの定数を使用することで、押されたシフトキーが左シフトなのか右シフトなのかを判別できる。

document.addEventListener('keydown', function( e ) {
	e.preventDefault();
	e.stopPropagation();

	if( e.key == 'Shift' ) {
		if( e.location == KeyboardEvent.DOM_KEY_LOCATION_LEFT ) {
			console.log('左シフト');
		}
		else if( e.location == KeyboardEvent.DOM_KEY_LOCATION_RIGHT ) {
			console.log('右シフト');
		}
		else {
			console.log('不明');
		}
	}
});

e.locationは、同一のキーが2つある場合(ShiftやCtrlキーなど)、左側のキーが押されたら1を右側のキーが押されたら2を返す。

KeyboardEvent.DOM_KEY_LOCATION_LEFTは、定数で1。

KeyboardEvent.DOM_KEY_LOCATION_RIGHTは、定数で2。

関連記事

TOP