@Kusmich

Как правильно отследить значение переменной?

Схема такая. Есть инпут ( невидимый) когда начинается ввод текста событие кейпрес вызывает событие фокус на инпут в который и передаеться все что вводят с клавиатуры. дальше переменная "value_input" получает значение с ипнпута и происходит сравнение с базой.

Проблема в том что все это запускаеться по событию кейпрес то есть например если кто-то введет восем символов , то будет восем проверок с базой. А нужно сделать всего одну проверку. То есть нужно знать что ввод в инпут закончен и тгда начинать проверку.

Как узнать что ввод в инпут закончен и тогда выполнить всего одну проверку ?

Предположим что для того чтоб узнать что ввод закончен я написал функцию, но дальше проблема как вызывать эту функцию ?

Если функцию проверки вызывать по каждом событии кейпрес то это не подходит нужно ток при первом...

Кто такое уже делал подскажите как правильно это реализовать ?
  • Вопрос задан
  • 208 просмотров
Решения вопроса 3
sanchezzzhak
@sanchezzzhak
Ля ля ля...
var timeout;
var ajax;

$('#yousearchbox').on('keyup',function(){
  //if you already have a timout, clear it
  if(timeout){ clearTimeout(timeout);  ajax.abort(); }

  //start new time, to perform ajax stuff in 1500ms
  timeout = setTimeout(function() {
   //your ajax stuff
  },1500);
})
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Это делается довольно просто с помощью таймаута: https://jsfiddle.net/IonDen/sezoanLs/
var $test = $(".test"),
    tm = null;

$test.on("input, keypress", function () {
    log();
});

function log () {
    clearTimeout(tm);
    tm = setTimeout(function () {
    	console.log($test.prop("value"));
    }, 300);
}
Ответ написан
Комментировать
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Используйте debounce
jquery.page2page.ru/index.php5/Throttle-debounce
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы