Maison > interface Web > js tutoriel > 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

黄舟
Libérer: 2017-06-27 11:42:50
original
1550 Les gens l'ont consulté

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();    
       }    
})
Copier après la connexion

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 );     
    }    
})
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal