Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   проверка что в течении времени не нажата клавиша (https://javascript.ru/forum/events/49000-proverka-chto-v-techenii-vremeni-ne-nazhata-klavisha.html)

diakon 24.07.2014 22:52

проверка что в течении времени не нажата клавиша
 
Привет всем. Столкнулся с такой проблеммой и не могу придумать как решить.
Допустим есть поле
<input type="text" size="40" name="part_number" id="part_number">
В него вводят данные
Ка проверить что после того как закончили вводить текст прошло, наприер, 10сек?
Событием onkeydown я проверю что клавишу нажимали, но вот как сделать, что если клавиши не нажимали 10 секунд после того как ввели данные в поле?
Заранее спасибо!

diakon 24.07.2014 23:00

Вот такой скрипт пришел в голову
function timerScan(){
		alert("Вы не нажали клавишу!");
	}
	
	$( "#part_number" ).keyup(function() {
			timer = 5000;
			setTimeout(timerScan, timer);
	});

Но вот функция timerScan выполняется всегда если нажали клавишу, а как сделать чтоб если нажали клавишу - отсчет сбрасывался и начинался снова? У меня он продолжается. Т.е. нажав клавишу запускается отчет 5 сек до появления сообщения. И если нажали еще клавишу - отсчет 5 сек продолжается всеравно

рони 24.07.2014 23:09

diakon,
function timerScan() {
      alert("Вы не нажали клавишу!");
  }
  var timer;
  $("#part_number").keyup(function () {
      window.clearTimeout(timer);
      timer = setTimeout(timerScan, 5000);
  });

diakon 24.07.2014 23:20

Спасибо Вам большое!!!


Часовой пояс GMT +3, время: 10:41.