Cerrar popover bootstrap

RoNiK

He estado mirando y mirando y no he encontrado nada.

Lo que quiero es que cuando se clickea fuera del popover se cierre, pero que si clickeas dentro del popover no se cierre.

He encontrado algunos ejemplos como este http://jsfiddle.net/3yHTH/

Pero si os fijáis, al hacer click dentro del popover se cierra... :/

A ver si me podéis dar una solución, gracias.

xMarston

Esto debería funcionar.

$('html').click(function(e) {
        var $elem = e.target;
        if($elem.tagName == 'HTML' || $($elem).parent().prop('class').indexOf('popover') == -1) {
            $('#button').popover('hide');
        }
});
2 respuestas
RoNiK

#2 Gracias máquina, funciona bien :)

RoNiK

#2 Vaya pues creía que funcionaba, pero no del todo si meto algo html en el content del popover y hago click sobre ese html se cierra, o sea si meto un span o un div o algo se cierra al clickear.

Te pongo un ejemplo http://jsfiddle.net/3yHTH/146/ quiero que no se cierre al hacer click haya lo que haya dentro, aver si me puedes decir cómo, gracias

PD: Su puta madre acabo de hacerlo funcionar creo

if($elem.tagName == 'HTML' || $($elem).parent().prop('class').indexOf('popover') == -1)

en esta parte del código en vez de poner -1 he puesto 1 y funciona.

Ni idea que hace eso, pero funciona XD

1 respuesta
xMarston

#4 no funcionará, ya que si le dieras a otro elemento html que no fuera el propio HTML no se cerraría. Una solución sería añadirle al párrafo que contiene el botón de aceptar una clase que contuviera la palabra popover, entonces sabrías en todo momento que está dentro del popover.

1 respuesta
RoNiK

#5 Sí tenías razón, al final haciéndolo más o menos como decías ya lo tengo. Gracias por todo

Usuarios habituales

  • RoNiK
  • xMarston