Ayer modifiqué la página de EPG en el cuadro establecido y encontré un pequeño problema. Cuando los usuarios compran juegos, un cuadro de diálogo de confirmación de compra debe aparecer. El enfoque predeterminado del cuadro de diálogo debe estar en el botón "Cancelar". Es un requisito muy simple, y se puede lograr utilizando el método Focus () de JavaScript. Los ejemplos de código simple son los siguientes:
document.getElementById ("Cancelar"). Focus ()Pero lo difícil es que el decodificador es realmente un gran pozo. Dado que es compatible con todos los modelos de caja establecidos existentes, se deben adaptar 8 cuadros establecidos. ¡Entonces surgió un problema! Un cuadro establecido de ZTE B600 no puede establecer el foco en el botón Cancelar en absoluto. Aquí están mis soluciones:
Primero, confirme si el cuadro establecido admite el método getElementById () y si obtuvo con éxito el elemento con el ID "Cancelar": el método de prueba es muy simple. Escribí directamente otro <p id = "test"> test </p>, y luego obtuve el elemento con la "prueba" de ID en el mismo lugar, y realicé un documento de operación simple.getElementById ("test"). Innerhtml = "Hola"
Finalmente, usé "intent ... atrapar (e) ..." para atrapar la razón por la cual "focus ()" falló
try () {<span style = "white-space: pre"> </span> document.getElementById ("cancelar"). focus ()} catch (e) {<span style = "white-space: pre"> </span> alert (e.name + ":" + e.what ()); }¡Pero es simplemente extraño! Los resultados de los dos pasos anteriores muestran que el cuadro establecido admite Focus () y GetElementById (), pero simplemente no puede establecer el foco en el cuadro de diálogo emergente.
Después de más de una hora de lucha, el gran jefe finalmente apareció, ¡y resolvió el problema con solo una simple oración! ¡Es posible llamar activamente a Flur () para cancelar el enfoque original!
document.getElementById ("Compra"). Flur ()Entonces el problema se resolvió. ¡Tengo que expresar mis sentimientos! En el proceso de resolver este problema, mis propias ideas son bastante correctas, pero mi conocimiento obviamente no es suficiente. ¡La brecha entre programadores generales y programadores senior no se trata solo de resolver problemas, sino también de la experiencia y el conocimiento!