Google Chromeのバージョン: 81.0.4044.129で、
下記のindex.htmlをchromeで開き、F12でデベロッパーツールを起動、
長押しを断続すると、例)まで届かず、
長押ししない場合も、例)に届くには2回押す必要があります。
(e.repeatの判定を入れない場合1回の押下で例)が何度も実行されます)
1回のキー押下で一度イベント発火させる方法はありますか。
キーを押したときからある処理を開始し、キーを上げた時にその処理を止めるようにしたいため、
keyupで発火させることは考えていません。
html
1<!DOCTYPE html> 2<html> 3 4<head> 5</head> 6 7<body class="article-body-inner"> 8 <script type="text/javascript" src="main.js"></script> 9</body> 10 11</html>
Javascript
1//@ts-check 2let i = 0; 3document.onkeydown = function (e) { 4 if (e.repeat) { 5 return; 6 } 7 //1回のキー押下で1回実行したい処理をここに記載予定 8 //例) 9 i++; 10 console.clear(); 11 console.log(String(i) + ":" + String(e.keyCode)); 12 console.log(String(i) + ":" + e.repeat); 13}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/05 07:37 編集