経緯
いちいちマウスでクリックするのは面倒。
- キーボードでも可能な操作はキーボードでやろうたとえば、フォームの入力時にキーボードで色々操作して、最後に送信って時に、いちいち送信ボタンをクリックするの、ちょっと面倒ですね。
他にも画像ビュアーで、今見ている画像の次の画像を表示させたいときに、いちいち矢印ボタンをクリックするの...これも面倒。
そこで、こういう面倒な事はみ~んなキーボードに登録して、ちゃっちゃっと操作できるようなUIにしましょう。
document.addEventListener("keydown", (e) => {
console.log(`
e.key: ${e.key}
e.code: ${e.code}
`);
});document.addEventListener("keydown", (e) => {
if (e.key === “ArrowRight”) {
console.log("右矢印が押された!");
}
});document.addEventListener("keydown", (e) => {
const keyFnc= {
ArrowRight: () => console.log(${e.key} が押された),
ArrowLeft: () => console.log(${e.key} が押された),
};
keyFnc[e.key]();
});document.addEventListener("keydown", (e) => {
const keyFnc = {
ArrowRight: () => console.log(`${e.key} が押された(右矢印)`),
ArrowLeft: () => console.log(`${e.key} が押された(左矢印)`),
default: () => console.log(`${e.key} は対応していません`),
};
(keyFnc[e.key] || keyFnc.default)();
});
//これで登録していないキーが押されてもエラーを出さず、おまけにそのキーのプロパティも知ることができます。document.addEventListener("keydown", (e) => {
if (e.key === "a" && e.ctrlKey) {
console.log("Ctrl + A が押された!");
}
});document.addEventListener("keydown", (e) => {
if (e.getModifierState("CapsLock")) {
console.log("Caps Lockがオンです");
}
});
//他にも下記の様なプロパティがあります。
"Alt"、"Control"、"Shift"、"Meta"、"CapsLock"、"NumLock"、"ScrollLock"、"AltGraph"
document.addEventListener("keydown", (e) => {
if (e.key === "Enter") {
if (e.ctrlKey) {
console.log("Ctrl + Enter が押されました(送信)");
} else if (e.shiftKey) {
console.log("Shift + Enter が押されました(改行)");
} else {
console.log("Enter 単独が押されました(通常確定)");
}
}
});このサイトで紹介しているコード、プログラムなどは個人の学習目的で作成されたものであり、いかなる保証も行いません。
利用はすべて自己責任でお願いします。
ただし、このページで紹介しているプログラムやビジュアルなどはご依頼いただければ実装を賜ります。
お問い合わせはこちら