Comment faire javascript focus() la méthode de travail dans l'événement onBlur pour l'entrée de la zone de texte?

pour moi, javascript focus() la méthode fonctionne bien si je l'utilise avec un bouton et de l'événement onClick, mais avec onBlur à partir d'une zone de texte, il n'est pas de travail.Quelqu'un peut-il me guider sur ce?

<html>
<head>
<script type="text/javascript">
function displayResult()
{
var inp1=document.getElementById("text1").value;
var inp2=inp1.length;
if(inp2==0)
{
alert("Field 1 cannot be left Empty");
//document.getElementById("text1").value="";
document.getElementById("text1").focus();
}
}
</script>
</head>
<body>
<input type="text" name="text1" id="text1" onBlur="displayResult();"/>
<input type="text" name="yext2" id="text2" />


</body>
</html>
  • ajouter un morceau de votre code de la façon dont vous êtes en train de le faire.
  • Bonjour Tasneem, bienvenue sur StackOverflow. Veuillez fournir une petit exemple: et un extrait de votre code démonstration votre problème.
  • Il y a une possibilité que, même si vous avez réussi à la demande de l'accent (de retour, je suppose), le onBlur() la méthode est appelée avant que le focus est réellement passé sur; cela signifie qu'une fois votre demande de concentrer terminé, le système va alors et se termine le onBlur() de la fonctionnalité de donner le focus... après avoir soigneusement la demande. Une possible solution de contournement est d'avoir onBlur() le démarrage d'un timer court, disons 1000 ms, et en ce que la minuterie gestionnaire de définir le focus. Cela devrait donner suffisamment de temps pour terminer loin de donner le focus, mais à empêcher l'utilisateur de faire quelque chose ailleurs.