То, что вы испытываете, - это правильное поведение, возможно, даже немного нелогичное. Вы можете увидеть свой код в демоверсии здесь . Когда вы нажимаете, вы только фокусируете текстовое поле, однако, когда вы вкладываете, вы вызываете 2 важных события, вы запускаете и focusin
, и keyup
.
Так как вы запускаете keyup
, то, что происходит, это означает очистку ошибки, но потому, что вы вводите что-то в поле ввода (оно не отличает вкладку от любой другой клавиши, например буквой) ... но затем он переоценивает, является ли поле допустимым для каждого keyup
, отображая ту же ошибку, что и раньше, поскольку вкладка не оказала на это никакого влияния ... так как она не добавляла текст.
Если вы захотите отключить проверку onkeyup
, она перестанет это делать, например:
$("#abc").validate({
focusCleanup: true,
rules: {t1: {required: true, email:true}, t2: {required: true,email:true}},
onkeyup: false,
});
Для сравнения вот этот код в демоверсии , так что вы можете сравнить его с оригинальной демонстрацией выше.