Живая проверка JQuery focusout setTimeout

Я пытаюсь проверить данные в реальном времени с помощью ajax и jquery, моя функция ajax возвращает данные каждые 2 секунды, поэтому я хочу добавить немного времени для фокусировки.

$("#username").focusout(function() {
  setTimeout(function() {
    if (/^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$/.test($(this).val()) && $(this).val().trim() !== "" && $(this).attr('availability') === 'true') {
      $(this).css("border-color", "#37ff00");
    } else {
      $(this).css("border-color", "red");
    }
  }, 1000);
});

1 ответ

Я заменил $(this) с $("#username") и теперь это работает.

Другие вопросы по тегам