Encontré un problema muy difícil hoy. Cuando estaba haciendo alguna verificación de cuadros de entrada, la lógica comercial de mi proyecto fue que cuando seleccioné una opción específica de una selección, se mostró un cuadro de entrada de entrada para que el usuario ingresara cosas. Sin embargo, si el usuario no hizo nada, un cuadro de advertencia debe aparecer para que el usuario ingrese. Después de la entrada, ocultaría la entrada.
Por lo tanto, surge el siguiente problema. Cuando se muestra el cuadro de entrada de entrada, el enfoque debe obtenerse automáticamente. En este momento lo uso
La copia del código es la siguiente:
document.getElementById ('id'). focus ();
Bueno, lo probé y funcionó muy bien. ¡No pude evitar sentirme feliz y lo hice!
Pero los cálculos no son tan buenos como los cálculos humanos. Cuando estaba probando con Firefox, había terminado. Fue fácil de usar cuando mostré la entrada por primera vez, pero cuando cerré el cuadro de recordatorio de alerta, ¡la entrada no pudo enfocarme!
El problema es complicado y no sé por qué. Entonces, revisé las respuestas de los maestros en Internet, encontré el siguiente truco y lo probé, ¡y fue realmente útil!
Después de la alerta, el original
La copia del código es la siguiente:
document.getElementByIdx ('id'). focus ();
Cambiar
La copia del código es la siguiente:
Window.setTimeOut (function () {document.getElementById ('id'). focus ();}, 0);
¡Bien, problema resuelto!
SetTimeOut se refiere a la ejecución de la expresión anterior después de retrasar el tiempo especificado después de la carga. Por supuesto, aquí es la ejecución de la función después de retrasar 0 ms.
Cuando acabo de resolver este problema, todavía no sé por qué se puede resolver bajo Firefox. Si algún gran Dios sabe, dejaré un mensaje para que los fallecidos estudiantes lo aprendan, ¡estoy muy agradecido!