Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
El controlador onclick no siempre se ejecuta mientras se actualizan los elementos secundarios

Tengo una fila de elementos <a> que tienen controladores onclick :

 <a onclick="selectCoin('MER');"> <div id="MER"> ... </div> </a>

El interior del elemento secundario <div> se sobrescribe continuamente para actualizar parte del texto dentro de los botones. La actualización se realiza consultando el selector #MER y asignándolo a innerHTML . Noté que los controladores onclick no siempre se ejecutan si el elemento <div> se actualiza en segundo plano. A menudo, tengo que hacer clic en él dos o tres veces antes de que se invoque el onclick . Si hago que los elementos <div> sean estáticos, los controladores onclick se ejecutan de manera consistente y confiable.

¿Por qué la actualización del elemento secundario <div> hace que el controlador onclick deje de funcionar de manera constante? ¿Cómo soluciono este problema, mientras sigo actualizando el contenido del botón?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Para generar un evento de clic, un elemento debe recibir un mousedown seguido de un mouseup .

Si el elemento desaparece después de presionar el mousedown y se reemplaza por uno nuevo, el evento de clic no se envía.

Puede hacer su propia detección de mousedown/mouseup en el elemento <a> , pero si no se puede hacer clic en nada dentro del elemento, puede deshabilitar los eventos del mouse en los elementos secundarios, para que todos ocurran en el elemento <a>

en su div "MER":

style="pointer-events:none;"

Violín de trabajo:

https://jsfiddle.net/8h17rcpz/

about 4 years ago · Juan Pablo Isaza Denunciar

0

Los eventos de click solo se generan si un par de eventos mousedown y mouseup se activan consecutivamente en el mismo elemento, lo que no sucederá si se intercambia entre eventos down y up.

La solución más simple sería reemplazar onclick en la fuente HTML con onmouseup . Qué efectos secundarios o comportamientos indeseables podría producir no es posible evaluar a partir de la información proporcionada.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda