Se debe hacer clic dos veces en Javascript onclick para que se ejecute la función. Necesito que se ejecute con el primer clic, ese es mi problema. Busqué en Google y busqué durante 2 días sin encontrar una respuesta que funcionó o que entendí.
El código para JavaScript se puede encontrar aquí: http://enji.se/windows8/js/script .js
Y el sitio donde quiero que funcione: http://enji.se/windows8/
Estoy intentando crear un sitio web con aspecto de Windows 8. Solo se mostrará correctamente en Google Chrome y en una resolución superior a 1265x820 y será impresionante en resoluciones superiores a 1590x920
Gracias de antemano / enji
RESUELTO
3 respuestas
El problema está dentro de su controlador de clics boxBegin
: el evento click se recibe y se pasa a su método correctamente en el primer clic, pero dentro de boxBegin
está cambiando el comportamiento en el valor de box.style.display
- en IE9, esto es inicialmente "", lo que activa su código de cierre en lugar del código abierto que desea.
Cambiar boxBegin a:
function boxBegin() {
var box = document.getElementById('boxBegin');
if (!box.style.display || box.style.display == "none") {
box.style.display = "block";
}
else {
box.style.display = "none";
}
}
Que yo sepa, ¿onclick
registra un solo clic?
Si onclick requiere un doble clic, puede ser un problema específico del navegador.
También de la documentos MDC:
El evento click se genera cuando el usuario hace clic en un elemento. El evento click ocurrirá después de los eventos mousedown y mouseup.
También: caso de prueba simple @ JS Fiddle
Busqué en Google esto cuando me encontré con el mismo problema.
Estaba comprobando si window.location.hash tenía un cierto valor, luego diseñé las pestañas de mi menú en consecuencia.
Para mí, la solución era tan simple como ejecutar una función de retraso de 10 milisegundos, que luego ejecutaba mis funciones principales.
El problema para mí vino de una secuencia de comandos que verificó un cambio en el exacto al mismo tiempo que se realizó el cambio, no antes, no después, sino al mismo tiempo. Esto me hizo tener que hacer doble clic para que vuelva a cambiar, y para que la función note el cambio por segunda vez.
Recuerde, siempre es más fácil ejecutar incluso un script de retraso de 5 milisegundos cuando las cosas no parecen registrar cambios. Esto me ha ayudado una y otra vez
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.