Tengo un comportamiento extraño aquí con el método de enfoque. Solo quiero entender por qué está sucediendo así.
Caso 1: con el siguiente código cuando salgo del último elemento, es decir, el hipervínculo driveD, el enfoque no se establece en el primer cuadro de texto aunque apliqué .focus() al primer cuadro de texto.
function lastFocusOut() { alert('focus out ,setting focus to first text box'); document.getElementById('nameId').focus(); }
input,a,button{ display:block; margin:10px; }
<form> <input id="nameId" type="text" name="name"> <a href="c:\">drive</a> <input id="nameId1" type="text" name="name"> <input type="submit" value="test" /> <input type="text" name="name"> <a href="d:\">driveE</a> </form> <a href="d:\" onblur="lastFocusOut()">driveD</a> </body>
Caso 2: cuando agrego un botón después del último hipervínculo, vuelve a poner el foco en el primer cuadro de texto.
function lastFocusOut() { alert('focus out ,setting focus to first text box'); document.getElementById('nameId').focus(); }
input,a,button{ display:block; margin:10px; }
<form> <input id="nameId" type="text" name="name"> <a href="c:\">drive</a> <input id="nameId1" type="text" name="name"> <input type="submit" value="test" /> <input type="text" name="name"> <a href="d:\">driveE</a> </form> <a href="d:\" onblur="lastFocusOut()">driveD</a> </body> <button type ="submit" >Submit</button>
Quiero entender dos cosas aquí.
1) Por qué el enfoque no se establece en el primer cuadro de texto en el caso 1.
2) Lo que realmente hace la diferencia es solo agregar el botón al final, lo que hace que el código funcione como se esperaba.