Como parte de una aplicación web de múltiples interfaces, estoy usando JavaScript estándar para crear y modificar cientos de elementos HTML en una sola página. Ha surgido un error inconsistente en el que los usuarios no pueden producir el efecto deseado al interactuar con estos elementos HTML generados dinámicamente, hasta que (1) hacen varios intentos o (2) interactúan con cualquier elemento de forma secundaria.
Por ejemplo, creé una tabla donde cada celda (para las primeras columnas, cuando se hace clic en ella) genera automáticamente un menú desplegable de opciones. La mitad de las veces, cuando se seleccionan estas opciones, se produce el resultado deseado. Mientras que la otra mitad del tiempo, el usuario debe realizar múltiples intentos en su selección o desplazar las opciones hacia arriba y hacia abajo y luego hacer su selección para producir el resultado deseado.
¿Cómo puedo (mientras uso JavaScript estándar) asegurarme de que el HTML que estoy creando dinámicamente sea más confiable para producir el resultado deseado cuando un usuario interactúa con él? ¿Hay algún estilo o técnica de programación que pueda investigar para lograr este objetivo?