KeyboardEvent: getModifierState() ã¡ã½ãã
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2017å¹´3æ.
* Some parts of this feature may have varying levels of support.
KeyboardEvent.getModifierState() ã¡ã½ããã¯ãæå®ããã修飾ãã¼ã®ç¾å¨ã®ç¶æ
ãè¿ãã¾ãã修飾ãã¼ãæå¹ãªå ´åï¼ããªãã¡ä¿®é£¾ãã¼ãæ¼ããã¦ãããããã¯ããã¦ããå ´åï¼ã¯ trueãããã§ãªããã° false ã«ãªãã¾ãã
æ§æ
getModifierState(key)
弿°
key-
修飾ãã¼ã®å¤ãå¤ã¯ä¿®é£¾ãã¼ã表ã
KeyboardEvent.keyå¤ã®ãããããã¾ãã¯æåå"Accel"鿍奍; ã§ãªããã°ãªãã¾ãããããã¯å¤§æåã¨å°æåãåºå¥ãã¾ãã
è¿å¤
è«çå¤ã§ãã
Firefox ã§ã®ä¿®é£¾ãã¼
Firefox ã§ getModifierState() ã true ãè¿ãã¨ãã§ãã
| Windows | Linux (GTK) | Mac | Android 2.3 | Android 3.0 or later | |
|---|---|---|---|---|---|
"Alt" |
Alt ãã¼ã AltGr ãã¼ãæ¼ããã¦ãã | Alt ãã¼ãæ¼ããã¦ãã | ⥠Option ãã¼ãæ¼ããã¦ãã | Alt ãã¼ã option ãã¼ãæ¼ããã¦ãã | |
"AltGraph" |
Alt 㨠Ctrl ã®ä¸¡æ¹ã®ãã¼ãæ¼ããã¦ãããã¾ã㯠AltGr ãã¼ãæ¼ããã¦ãã |
Level 3 Shift ãã¼ï¼ã¾ã㯠Level 5 Shift ãã¼ï¼ãæ¼ããã¦ãã | ⥠Option ãã¼ãæ¼ããã¦ãã | â æªå¯¾å¿ | â æªå¯¾å¿ |
"CapsLock" |
⪠Caps Lock ã® LED ããªã³ã«ãªã£ã¦ããé | â æªå¯¾å¿ | CapsLock ãããã¯ããã¦ããé | ||
"Control" |
Ctrl ãã¼ã AltGr ãã¼ãæ¼ããã¦ãã | Ctrl ãã¼ãæ¼ããã¦ãã | control ãã¼ãæ¼ããã¦ãã | menu ãã¼ãæ¼ããã¦ãã | Ctrl ãã¼ã control ãã¼ã menu ãã¼ã®ä½ãããæ¼ããã¦ãã |
"Fn" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | Function ãã¼ãæ¼ããã¦ããããã©ã®ãã¼ãä¿®é£¾ç¶æ ãã¢ã¯ãã£ãã«ããã®ããåãããªãã Mac ã®ãã¼ãã¼ãã® Fn ãã¼ã§ã¯ããã®ã¢ã¯ãã£ããªç¶æ ã¯çºçãã¾ããã |
"FnLock" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
"Hyper" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
"Meta" |
â Windows ãã´ ãã¼ãæ¼ããã¦ããï¼Firefox 118 以éï¼ | Meta ãã¼ãæ¼ããã¦ãã | â Command ãã¼ãæ¼ããã¦ãã | â æªå¯¾å¿ | â Windows ãã´ ãã¼ã¾ã㯠command ãã¼ãæ¼ããã¦ãã |
"NumLock" |
Num Lock ã® LED ããªã³ã«ãªã£ã¦ããé | A key on numpad pressed | â æªå¯¾å¿ | NumLock ãããã¯ããã¦ããé | |
"OS" |
â Windows ãã´ ãã¼ãæ¼ããã¦ããï¼Firefox 118 ããåï¼ | Super ãã¼ã¾ã㯠Hyper ãã¼ãæ¼ããã¦ããï¼ãµã¤ãã â Windows ãã´ ãã¼ã«å²ãå½ã¦ããã¦ããï¼ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
"ScrollLock" |
Scroll Lock ã® LED ããªã³ã«ãªã£ã¦ããé | Scroll Lock ã® LED ããªã³ã«ãªã£ã¦ããéããã ããµã¤ãã¯ãã©ãããã©ã¼ã ã対å¿ãã¦ããªã | â æªå¯¾å¿ | â æªå¯¾å¿ | ScrollLock ãããã¯ããã¦ããé |
"Shift" |
â§ Shift ãã¼ãæ¼ããã¦ãã | ||||
"Super" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
"Symbol" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
"SymbolLock" |
â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ | â æªå¯¾å¿ |
- ãã®ä»ã®ãã©ãããã©ã¼ã ã§ã¯ã "Alt", "Control", "Shift" ã«å¯¾å¿ãã¦ããå ´åãããã¾ãã
- ãã¹ã¦ã®ä¿®é£¾ãã¼ï¼Firefox ãå®è£
ããå¾ã«å®ç¾©ããã
"FnLock"ã"Hyper"ã"Super"ã"Symbol"ãé¤ãï¼ã¯ã Firefox ã¯ä¿¡é ¼ãããªãã¤ãã³ãã«å¯¾ãã¦å¸¸ã«å¯¾å¿ãã¾ãã ããã¯ãã©ãããã©ã¼ã ã«ä¾åãã¾ããã
"Accel" ä»®æ³ä¿®é£¾å
ã¡ã¢:
"Accel" ä»®æ³ä¿®é£¾åã¯ã DOM3 Events 仿§ã®ç¾å¨ã®ãã©ããã§ã¯ãäºå®ä¸éæ¨å¥¨ã¨ããã¦ãã¾ãã
getModifierState() 㯠"Accel" ã¨ããååã®éæ¨å¥¨ã®ä»®æ³ä¿®é£¾åãåãå
¥ãã¾ããevent.getModifierState("Accel") 㯠KeyboardEvent.ctrlKey ã¾ã㯠KeyboardEvent.metaKey ã®å°ãªãã¨ãã©ã¡ããã true ã§ããå ´åã« true ãè¿ãã¾ãã
å¤ãå®è£
ãå¤ã仿§ã§ã¯ãã·ã§ã¼ãã«ãããã¼ã®ä»£è¡¨çãªä¿®é£¾ãã¼ã§ä¿®é£¾ããã¦ããã¨ãã« true ãè¿ãã¦ãã¾ãããä¾ãã°ã Windows ã§ã¯ã Ctrl ãã¼ãæ¼ãã¨ãtrueãè¿ããã¨ãããã¾ãã
ãããã Mac ã§ã¯ã â Command ãã¼ãæ¼ãã¨ã true ãè¿ãããããã¾ããã
ã©ã®ä¿®é£¾ãã¼ã§ true ãè¿ããã¯ããã©ãããã©ã¼ã ããã©ã¦ã¶ã¼ãã¦ã¼ã¶ã¼ã®è¨å®ã«ä¾åãããã¨ã«æ³¨æãã¦ãã ãããä¾ãã°ã Firefox ã®å ´åã "ui.key.accelKey" ã¨ããè¨å®é
ç®ã§ã«ã¹ã¿ãã¤ãºãããã¨ãã§ãã¾ãã
ä¾
function handleKeyboardEvent(event) {
// Ignore if following modifier is active.
if (
event.getModifierState("Fn") ||
event.getModifierState("Hyper") ||
event.getModifierState("OS") ||
event.getModifierState("Super") ||
event.getModifierState("Win") /* hack for IE */
) {
return;
}
// Also ignore if two or more modifiers except Shift are active.
if (
event.getModifierState("Control") +
event.getModifierState("Alt") +
event.getModifierState("Meta") >
1
) {
return;
}
// Handle shortcut key with standard modifier
if (event.getModifierState("Accel")) {
switch (event.key.toLowerCase()) {
case "c":
if (event.getModifierState("Shift")) {
// Handle Accel + Shift + C
event.preventDefault(); // consume the key event
}
break;
case "k":
if (!event.getModifierState("Shift")) {
// Handle Accel + K
event.preventDefault(); // consume the key event
}
break;
}
return;
}
// Do something different for arrow keys if ScrollLock is locked.
if (
(event.getModifierState("ScrollLock") ||
event.getModifierState("Scroll")) /* hack for IE */ &&
!event.getModifierState("Control") &&
!event.getModifierState("Alt") &&
!event.getModifierState("Meta")
) {
switch (event.key) {
case "ArrowDown":
case "Down": // hack for IE and old Firefox
event.preventDefault(); // consume the key event
break;
case "ArrowLeft":
case "Left": // hack for IE and old Firefox
// Do something different if ScrollLock is locked.
event.preventDefault(); // consume the key event
break;
case "ArrowRight":
case "Right": // hack for IE and old Firefox
// Do something different if ScrollLock is locked.
event.preventDefault(); // consume the key event
break;
case "ArrowUp":
case "Up": // hack for IE and old Firefox
// Do something different if ScrollLock is locked.
event.preventDefault(); // consume the key event
break;
}
}
}
ã¡ã¢:
ãã®ä¾ã¯ .getModifierState() ã "Alt",
"Control", "Meta", "Shift" ã§ä½¿ç¨ãã¦ãã¾ããã
event.altKey, event.ctrlKey, event.metaKey,
event.shiftKey ã®æ¹ããããå§ãã§ãã
仿§æ¸
| Specification |
|---|
| UI Events > # dom-keyboardevent-getmodifierstate > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- ãã®ã¡ã½ããã®æå±å
ã®
KeyboardEvent MouseEvent.getModifierState