Убедитесь, что пользовательские события запускаются после событий h5validate
Я сталкиваюсь с проблемой с H5Validate, когда их события запускаются после пользовательских событий, которые я реализовал, эффективно предотвращая запуск моих событий, потому что они основаны на событиях H5validate.
Обходной путь, который я в настоящее время использую, устанавливает событие триггера H5validate в change
или же $('#form').h5Validate({ change: true });
вызывая мои события на focusout
, Хотя это работает, я бы предпочел найти метод, позволяющий запускать мои события после H5validate, чтобы я мог использовать keyup
событие для большего ощущения "живого подтверждения" и обеспечения того, чтобы изменения оставались отключенной до focusout
Таким образом, пользователи могут двигаться вперед, а не видеть всплывающее окно проверки на стороне сервера.
http://jsfiddle.net/darcher/ufp056nh/
Отредактируйте, это фактически работает иногда. Каков наилучший подход, чтобы гарантировать, что мои события сработают после h5validate, не делая что-то хакерское, как setTimeout
1 ответ
Ваш вопрос немного сбивает с толку. Зачем вам нужны ваши собственные обработчики событий?
Что вы пытаетесь достичь с ними?
Если вам нужно проверить всю форму, вы можете сделать это так:
$form.bind('formValidated', function (event, data) {
// do stuff after whole form is validated
});
// trigger whole-form validation check
$form.h5Validate('allValid');