Как исчезнуть сообщения об ошибках с плагином Validation Engine для jQuery? - PullRequest
0 голосов
/ 28 октября 2011

Я использую из него https://github.com/posabsolute/jQuery-Validation-Engine

Интересно, как заставить подсказки закрываться на 4 секунды, не нажимая на подсказки, чтобы закрыть строку кода 26 из jquery.validationEngine.js, это выглядит так:

$(".formError").live("click", function() {
    $(this).fadeOut(150, function() {
        // remove prompt once invisible
       $(this).remove();
    });
});

Я пытался удалить "щелчок" внутри лайва, но это не сработало, потому что проверки не появляются, кто-нибудь может мне помочь?Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 12 февраля 2012

Используйте опцию автоматического скрытия. Проверьте документацию validationEngine или validationEngine.js - внизу файла .js вы увидите:

    // Auto-hide prompt
    autoHidePrompt: true,
    // Delay before auto-hide
    autoHideDelay: 3000,
    // Fade out duration while hiding the validations
    fadeDuration: 0.3
1 голос
/ 29 октября 2011

Полагаю, вы пытаетесь сделать так, чтобы событие "click" происходило только один раз?Если это так, используйте unbind(), чтобы отменить все прослушиватели событий.Если вы хотите точно указать, какой прослушиватель событий, используйте параметр: unbind("click"), например:

$(".formError").live("click", function() {
$(this).unbind("click");
$(this).fadeOut(150, function() {
    // remove prompt once invisible
   $(this).remove();
});

});

Когда вызывается unbind("click"), этот конкретный *Элемент 1009 * больше не будет иметь прослушивателя событий щелчка, но все остальные все еще будут.

EDIT: При откреплении всех событий, связанных с прослушивателями событий, инициализированными с live(), вы должны использовать die().Извините, у меня не было live() через некоторое время, поэтому я забыл, что вы должны были die().

...