DOM

UIEvent.which プロパティ

 編集:2022.10.05 by T.A.

[Edge]。読取専用 非標準。→

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

UIEvent でマウスの押されたボタンを示す数値、keyCode の数値、キーボードで押されたキーの文字コード(charCode)のいずれかを返します。

構文
UIEvent.which
KeyboardEvent の値 非標準

event.which は、英数字キーと非英数字キーのどちらが押されたかに応じて、押された特定のキーに対する数値のコードを含んでいます。詳しくは非推奨の KeyboardEvent.charCodeKeyboardEvent.keyCode を参照してください。

メモ: 新しいコードでは KeyboardEvent.key または KeyboardEvent.code を検討してください。

MouseEvent の値 非標準

押されたボタンを表す数値型です。

数値説明
0 No button
1 左ボタン
2 中央ボタン
3 右ボタン

左利き用に設定されたマウスの場合、ボタンの動作は逆になります。この場合、値は右から左に読み取られます。

メモ: 新しいコードでは MouseEvent.button を検討してください。

HTML:

<SPAN id=IdTest1>[ここでクリック…]</SPAN><BR>
<INPUT id=IdTest2 value="ここでキー入力…">
<SPAN id=IdLog></SPAN>

JavaScript:

function Job1(eve){ //clickイベントの処理:
  D=eve; //=[object]:[object PointerEvent]。SPAN要素でクリックした。
詳細 //isTrusted=[boolean]:true //pointerId=[number]:1 //width=[number]:1 //height=[number]:1 //pressure=[number]:0 //tiltX=[number]:0 //tiltY=[number]:0 //azimuthAngle=[number]:0 //altitudeAngle=[number]:1.5707963267948966 //tangentialPressure=[number]:0 //twist=[number]:0 //pointerType=[string]:mouse //isPrimary=[boolean]:false //getCoalescedEvents=[function]:function getCoalescedEvents() { [native code] } //getPredictedEvents=[function]:function getPredictedEvents() { [native code] } //screenX=[number]:322 //screenY=[number]:137 //clientX=[number]:115 //clientY=[number]:62 //ctrlKey=[boolean]:false //shiftKey=[boolean]:false //altKey=[boolean]:false //metaKey=[boolean]:false //button=[number]:0 //buttons=[number]:0 //relatedTarget=[object]:null //pageX=[number]:115 //pageY=[number]:1647 //x=[number]:115 //y=[number]:62 //offsetX=[number]:97 //offsetY=[number]:34 //movementX=[number]:0 //movementY=[number]:0 //fromElement=[object]:null //toElement=[object]:null //layerX=[number]:115 //layerY=[number]:1647 //getModifierState=[function]:function getModifierState() { [native code] } //initMouseEvent=[function]:function initMouseEvent() { [native code] } //view=[object]:[object Window] //detail=[number]:1 //sourceCapabilities=[object]:[object InputDeviceCapabilities] //which=[number]:1 //initUIEvent=[function]:function initUIEvent() { [native code] } //type=[string]:click //target=[object]:[object HTMLSpanElement] //currentTarget=[object]:null //eventPhase=[number]:0 //bubbles=[boolean]:true //cancelable=[boolean]:true //defaultPrevented=[boolean]:false //composed=[boolean]:true //…
IdLog.innerHTML=IdLog.innerHTML + eve.which +" "; //表示。 } IdTest1.onclick=Job1; //イベント割り当て。 IdTest2.onkeydown=Job1; //イベント割り当て。

INPUT要素でFEPで「あ」とタイピングした場合の eve 内容:

//D=[object]:[object KeyboardEvent]
詳細//isTrusted=[boolean]:true //key=[string]:Process //code=[string]:KeyA //location=[number]:0 //ctrlKey=[boolean]:false //shiftKey=[boolean]:false //altKey=[boolean]:false //metaKey=[boolean]:false //repeat=[boolean]:false //isComposing=[boolean]:false //charCode=[number]:0 //keyCode=[number]:229 //DOM_KEY_LOCATION_STANDARD=[number]:0 //DOM_KEY_LOCATION_LEFT=[number]:1 //DOM_KEY_LOCATION_RIGHT=[number]:2 //DOM_KEY_LOCATION_NUMPAD=[number]:3 //getModifierState=[function]:function getModifierState() { [native code] } //initKeyboardEvent=[function]:function initKeyboardEvent() { [native code] } //view=[object]:[object Window] //detail=[number]:0 //sourceCapabilities=[object]:[object InputDeviceCapabilities] //which=[number]:229 //initUIEvent=[function]:function initUIEvent() { [native code] } //type=[string]:keydown //target=[object]:[object HTMLInputElement] //currentTarget=[object]:null //eventPhase=[number]:0 //bubbles=[boolean]:true //cancelable=[boolean]:true //defaultPrevented=[boolean]:false //composed=[boolean]:true //…

INPUT要素でFEPを介さずに直に「a」とタイピングした場合の eve 内容:

//D=[object]:[object KeyboardEvent]
詳細//isTrusted=[boolean]:true //key=[string]:a //code=[string]:KeyA //location=[number]:0 //ctrlKey=[boolean]:false //shiftKey=[boolean]:false //altKey=[boolean]:false //metaKey=[boolean]:false //repeat=[boolean]:false //isComposing=[boolean]:false //charCode=[number]:0 //keyCode=[number]:65 //DOM_KEY_LOCATION_STANDARD=[number]:0 //DOM_KEY_LOCATION_LEFT=[number]:1 //DOM_KEY_LOCATION_RIGHT=[number]:2 //DOM_KEY_LOCATION_NUMPAD=[number]:3 //getModifierState=[function]:function getModifierState() { [native code] } //initKeyboardEvent=[function]:function initKeyboardEvent() { [native code] } //view=[object]:[object Window] //detail=[number]:0 //sourceCapabilities=[object]:[object InputDeviceCapabilities] //which=[number]:65 //…

charCode は何も得られないようだが。


テスト