Почему будет фокусировка (); в jQuery не выполнять функцию после фокусировки вне поля? - PullRequest
4 голосов
/ 03 марта 2010

Я пытаюсь использовать функцию focusout (http://api.jquery.com/focusout/) в jQuery), чтобы выполнить функцию после того, как пользователь сфокусировался вдали от поля формы ввода, но она не работает.

Вот мой код:

$("#employee_id").focusout(function(){
  var employeeId = $("#employee_id").val();
  if(employeeId == '') {
    $("#employee_id").after('<div class="error">Your employee id number is required.</div>');
    hasError = true;
  }
});

Я использую jquery-1.3.2.min.js, поскольку другой используемый мной плагин (qtip) выдает ошибку при попытке использовать jquery-1.4.2.min.js.

Как я могу заставить работать фокус-событие или есть другой способ сделать то, что я пытаюсь сделать?

1 Ответ

9 голосов
/ 03 марта 2010

Так как вам кажется, что вы просто заботитесь об этом поле, а не о родителе / ​​пузыре, используйте .blur():

$("#employee_id").blur(function(){
  if($(this).val() == '') {
    $(this).after('<div class="error">Your employee id number is required.</div>');
    hasError = true;
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...