JSFiddle - React, Tailwind, and code Playground
HTML
<div id="test">keyUp</div>
<div id="result">keyUp</div>
<div id="test2">keyDown</div>
<div id="result2">keyDown</div>
<div id="test3">keyPress</div>
<div id="result3">keyPress</div>
JavaScript
var elem = document.getElementById('test'),
elem2 = document.getElementById('test2'),
elem3 = document.getElementById('test3'),
result = document.getElementById('result'),
result2 = document.getElementById('result2'),
result3 = document.getElementById('result3'),
oneClick = 0,
oneClick2 = 0,
oneClick3 = 0,
twoClick,
twoClick2,
twoClick3,
flag=1,
flag2=1,
flag3=1,
intervalClick,
intervalClick2,
intervalClick3;
//alert(new Date().getTime());
function handler () {
if(oneClick === 0){
oneClick = new Date().getTime()/1000;
// alert(oneClick);
}else{
twoClick = new Date().getTime()/1000;
// alert('one click: ' +oneClick+ '/n two click: ' +twoClick)
intervalClick = twoClick - oneClick;
elem.innerHTML ='interval click: ' +intervalClick;
result.innerHTML = 'минимум keyUp:'+flag;
oneClick = 0;
}
}
function handler2 () {
if(oneClick2 === 0){
oneClick2 = new Date().getTime()/1000;
}else{
twoClick2 = new Date().getTime()/1000;
intervalClick2 = twoClick2 - oneClick2;
elem2.innerHTML ='interval click: ' +intervalClick2;
result2.innerHTML = 'минимум keyDown:'+flag2;
oneClick2 = 0;
}
}
function handler3 () {
if(oneClick3 === 0){
oneClick3 = new Date().getTime()/1000;
}else{
twoClick3 = new Date().getTime()/1000;
intervalClick3 = twoClick3 - oneClick3;
elem3.innerHTML ='interval click: ' +intervalClick3;
result3.innerHTML = 'минимум keyPress:'+flag3;
oneClick3 = 0;
}
}
window.onkeyup = function(){
if( intervalClick <flag){flag=intervalClick};
handler();
}
window.onkeydown = function(){
if( intervalClick2 <flag2){flag2=intervalClick2};
handler2();
}
window.onkeypress = function(){
if( intervalClick3 <flag3){flag3=intervalClick3};
handler3();
}