JSFiddle - React, Tailwind, and code Playground
JavaScript
var last = 0;
var repeating = false;
var repeatRateTimer = null;
$(document).bind("keyup", function(input) {
if(repeatRateTimer != null) {
clearTimeout(repeatRateTimer);
repeatRateTimer = null;
}
repeating = false;
});
$(document).bind("keydown", function(input) {
input.preventDefault();
if(repeating == true) {
if(repeatRateTimer == null) {
repeatRateTimer = setTimeout(function () {
repeating = false;
clearTimeout(repeatRateTimer);
repeatRateTimer = null;
}, 1000);
}
return;
}
repeating = true;
var now = Date.now();
var time = last ? now - last : 0;
last = now;
document.body.innerHTML += input.which + " (" + time + " ms)<br/>";
});