Как я могу использовать JQuery для проверки поля ввода при изменении? - PullRequest
8 голосов
/ 02 февраля 2011

У меня есть поле input:

<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />

У меня есть кусок кода jquery, который работает, когда я нажимаю клавишу Tab или иным образом покидаю поле, которое вызывает процедуру проверки:

$("#parametersEmail").blur(function(event) {
    validateParameterEmail();
});

Я бы хотел запускать функцию validateParameterEmail() всякий раз, когда изменяется значение или содержимое поля ввода.

Итак, я также попробовал обработчик .change():

$("#parametersEmail").change(function(event) {
    validateParameterEmail();
});

Но когда я изменяю содержимое parametersEmail, этот обработчик не вызывает функцию проверки.

Есть ли другой обработчик, который я должен использовать вместо этого? Или я не могу прикрепить несколько обработчиков событий к полю ввода?

Ответы [ 4 ]

8 голосов
/ 02 февраля 2011

Попробуйте $("#parametersEmail").keydown(function(event) {})

6 голосов
/ 02 февраля 2011

Попробуйте это:

$("#parametersEmail").bind('blur', function(event) {} );

и

$("#parametersEmail").bind('keyup', function(event) {} );
3 голосов
/ 12 ноября 2016

(Реальность почти на 2017-й год)

Лучший способ - один раз установить обратный вызов для всех необходимых событий об изменении входного значения.

Есть:

  • keyup: пользователь что-то набрал во вводе
  • change: общеизвестный метод о сохраненных изменениях во вводе
  • click: некоторые вводы также изменяются мышью
  • паста: Да!Ctrl + V, Crtl + Ins, RightMouseButton + Paste также могут изменять входное значение
  • propertychange: когда какой-либо JS каким-либо образом меняет наш вход, это событие будет вызывать
  • input: событие нового стандарта, котороеподдерживает все современные браузеры, используйте его также

Итак, мы можем установить их все один раз:

$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
    validateParameterEmail();
});

Надеюсь, это кому-нибудь поможет.;)

0 голосов
/ 02 февраля 2011

Изменение относится к тому, когда вы щелкаете / удаляетесь от ввода. Вы можете искать onKeyUp().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...