JSFiddle - React, Tailwind, and code Playground

by Uriel Zarnihchi

HTML

Hold down an arrow key for one second
<br><br>
<input type="text" id="test" />

JavaScript

var timer=false;

$('input').on({
    keydown: function(e) {
        var charCode = (e.which) ? e.which : event.keyCode, keyP;
        if (charCode===37) keyP = 'left';
        if (charCode===38) keyP = 'up';
        if (charCode===39) keyP = 'right';
        if (charCode===40) keyP = 'down';        
        if (!timer) timer = setTimeout(function() {
           clearTimeout(timer);
           timer=false;
           alert(keyP+' arrow key held down for 1 second');
        }, 1000);
    },
    keyup: function() {
        clearTimeout(timer);
        timer=false;
    }
});