jquery ctrlキーやshiftキーとの他のキー同時押しを取得する
- 作成日 2020.08.23
- jquery
jqueryでctrlキーやshiftキーとの他のキー同時押しが発生した場合のイベントを取得するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
※windows10にApacheのインストールはこちら
サンプルコード
各キーをkeydownイベントを取得後、キーコードにより処理を分岐させてます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>mebeeサンプル</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons">
<link rel="stylesheet" href="https://unpkg.com/bootstrap-material-design@4.1.1/dist/css/bootstrap-material-design.min.css" integrity="sha384-wXznGJNEXNG1NFsbm0ugrLFMQPWswR3lds2VeinahP8N0zJw9VWSopbjv2x7WCvX" crossorigin="anonymous">
<script src="http://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<style>
.container {
margin: 0 auto;
margin-top: 200px;
display: flex;
flex-direction: column;
align-items: center;
font-size: 30px;
}
</style>
<script>
$(document).ready(function(){
$(window).keydown(function(e){
// ctrl + key
if(event.ctrlKey){
if(e.keyCode === 67){
$(".alert-success").text('ctrl+c');
}
else if(e.keyCode === 86){
$(".alert-success").text('ctrl+v');
}
return false;
}
// shift + key
if(event.shiftKey){
if(e.keyCode === 81){
$(".alert-success").text('shift+q');
}
else if(e.keyCode === 90){
$(".alert-success").text('shift+z');
}
return false;
}
// alt + key
if(event.altKey){
if(e.keyCode === 67){
$(".alert-success").text('alt+c');
}
else if(e.keyCode === 86){
$(".alert-success").text('alt+v');
}
return false;
}
});
});
</script>
<body>
<div class="container">
<div class="alert alert-success" role="alert">
押下されたキー
</div>
</div>
</body>
</html>
実行結果を見ると、同時押しが取得できていることが確認できます。
-
前の記事
Nuxt.js ライブラリ「vue-typeahead-bootstrap」をインストールしてオートコンプリートを実装する 2020.08.23
-
次の記事
javascript 選択中のテキストを取得する 2020.08.23
コメントを書く