Maison  >  Article  >  interface Web  >  Solution au problème selon lequel la mise au point ne peut pas être mise au point après le flou jquery

Solution au problème selon lequel la mise au point ne peut pas être mise au point après le flou jquery

黄舟
黄舟original
2017-06-27 11:42:501530parcourir

1 : De nombreuses chaussures pour enfants peuvent rencontrer cette situation :

Après le flou de jquery, la mise au point ne peut pas être mise au point.

2 : Scénario d'utilisation :

Lorsque l'utilisateur remplit les informations, si l'adresse e-mail est vide, il vous demandera de renseigner l'adresse e-mail et de placer le curseur dans la zone de texte pour remplir l'adresse e-mail afin de permettre à l'utilisateur de remplir à nouveau l'adresse e-mail.

Bien sûr, nous utiliserons les deux fonctions de jquey's blur() et focus()

pour répondre aux exigences ci-dessus :
$("#email").blur(function(){       if($("#email").val()==''){
            alert('请填写您的邮箱');
            $("#email").focus();    
       }    
})

Trois : Explication du code :

Lorsque la zone de texte permettant de remplir l'e-mail perd le focus et si l'adresse e-mail renseignée est vide, l'invite « Veuillez remplir votre e-mail » apparaîtra et retrouvera le focus de la zone de texte pour permettre à l'utilisateur de rentrer.

Après avoir exécuté test.html sur FF : vous constaterez que la boîte de dialogue apparaît, mais elle ne parvient pas à obtenir le focus. Il n'y a évidemment aucune erreur dans le code. l'exécution sur IE est normale. Les informations contextuelles et le focus seront obtenus.

Quatre : Vous penserez alors certainement qu'il s'agit d'un autre problème de compatibilité.

Oui. FF et IE nous ont en effet causé bien des soucis en terme de compatibilité.

5 : La raison du problème devrait être que les mécanismes de flou et de mise au point de FF et IE sont différents.

La mise au point FF ne peut être effectuée qu'avant le flou.

Six : Alors comment résoudre ce bug ?

Utilisez settime

out pour effectuer un retard.

Modifiez le code comme suit :
$("#email").blur(function(){    if($("#email").val()==''){
        alert('请填写您的邮箱');        //$("#email").focus();
        window.setTimeout (function(){ document.getElementById ('email'). select();},0 );     
    }    
})

Seven : Exécutez respectivement sur IE et FF, parfaitement compatible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn