exhtml
3/8/2018 - 3:22 PM

Boostrap popovers hide on click outside and in other popovers

$body.popover({
    selector: '[data-toggle="popover"]',
    trigger: "click focus",
    placement: "bottom",
    container: "body",
    //...
}).on("show.bs.popover", function(e){
    console.log(e.target);
    //$('[data-toggle="popover"]').not(e.target).popover("destroy");
    //$(".popover").remove(); 
    $('[data-toggle="popover"]').not(e.target).popover('hide');
    $(e.target).data('bs.popover').inState.click = false;  
});

$body.on('click', function (e) {
    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) { 
        var $popovers = $('[data-toggle="popover"]');    
        $popovers.popover('hide');
        if($popovers.data("bs.popover")){
            $popovers.data("bs.popover").inState.click = false;
        }
        // asegurarnos de que eliminamos los popovers
        $('.popover').remove();
    }
});