Si programa en Javascript, probablemente haya encontrado la situación en la que desea tener menús que se abren con un clic y que se cierran cuando el usuario hace clic fuera del menú. He desarrollado una forma bastante simple de hacer precisamente eso. Agrego un detector de eventos al cuerpo del documento. Cuando alguien hace clic en él, buscamos la identificación de destino del evento. Si coincide con la ID del div de la caja, no haga nada. Si no es así, cierre el menú.
Yendo un poco más allá, es ineficiente dejar un detector de eventos de clic en todo el cuerpo cuando no se está utilizando. En este caso, si el menú aún no se ha abierto, no hay razón para escuchar un clic fuera del menú. Agregue el detector de eventos en la devolución de llamada del div que se muestra. En la misma línea, cuando el div se oculta nuevamente, elimine el detector de eventos.
Mostrar Div Click dentro del cuadro negro, no pasa nada. Haga clic afuera, desaparecerá $ ('# showbox'). Clic (function () {$ ('# bigbox'). Show (function () {document.body.addEventListener ('click', boxCloser, false);}) ;}); function boxCloser (e) {if (e.target.id! = 'bigbox') {document.body.removeEventListener ('click', boxCloser, false); $ ('# bigbox'). hide (); }}
También asegúrese de incluir jQuery en su proyecto, ya que algunas de las funciones anteriores utilizan esa biblioteca.
