jQuery zone de texte de validation en utilisant à la fois sur keyup et flou

J'ai une zone de texte et la nécessité de valider les deux keyup et le flou des événements. Si je tape "X", les deux événements seront à feu et, évidemment, vous allez voir deux alertes sur le code ci-dessous. L'événement keyup est nécessaire, comme je l'ai peut déclencher une action basée sur une valeur valide et aussi besoin de garder le flou de l'événement dans le cas où la touche de Tabulation est pressé. L'objectif est d'afficher une alerte ici. \m/\m/

$("#txtLength").on('keyup blur', function (e) {
    if ($(this).val().length > 0) {
        switch (true) {

            case !$.isNumeric($(this).val()):
                alert("Please enter a numeric value.");
                $(this).focus();
                break

            case ($(this).val() < 5) || ($(this).val() > 10):
                alert("Length must be a numeric value between 5 and 10.");
                $(this).focus();
                break;

            default:
        }
    }
});
  • si vous le faites sur keyup, vous n'avez pas besoin de validation sur blur sauf si vous faites totalement différentes sur blur.
  • Vous n'en avez pas besoin. Si vous utilisez uniquement l'événement keyup, vous obtiendrez l'alerte et il sera mis l'accent. Toutefois, l'utilisateur peut maintenant l'Onglet de la zone de texte en laissant une valeur non valide derrière.
  • votre énoncé est faux ici. Si je tape "X", les deux événements seront à feu jsfiddle.net/EbLdf .. Seulement keyup événement est déclenché.
  • Vous souhaitez valider sur le ONKEYPRESS et événements ONCHANGE.
InformationsquelleAutor 80sRocker | 2014-01-27