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(); } })
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 ); } })
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!