JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" id="myInput" />
<div id="send"></div>
JavaScript
var $myInput = $('#myInput');
var $send = $('#send');
var timeout;
var printing = 0;
// Обработчик на keyup
$myInput.on('keyup',function(e){
// Вызываем, только если изменилось значение
if (!(e.ctrlKey && e.keyCode == 13) && !(!e.ctrlKey && e.keyCode == 17)) {
//console.log(e.ctrlKey+'__'+e.keyCode);
printing = printing + 1;
if (printing == 1) {
setTimeout(function() {
$send.append("<div>Начал ввод</div>");
},300);
}
if (printing != 0) {
// Делаем задержку и обнуляем предыдущую
if(timeout) { clearTimeout(timeout); }
// Новый таймаут
timeout = setTimeout(function() {
// Выполняем поиск
$send.append("<div>Закончил ввод</div>");
printing = 0;
},1000);
}
}
});