Show one popover and hide other popovers

前端 未结 13 1873
死守一世寂寞
死守一世寂寞 2020-12-24 04:45

i have several buttons and i need a popover for each.
i want it like this:
when my user click on one of them, i want others to be hidden. so only one popover is show

13条回答
  •  一向
    一向 (楼主)
    2020-12-24 05:04

    This is a quick generic solution that I'm using where you don't need to know what the classes are of the popovers in advance. I haven't tested it super extensively. Also I'm using toggle below as I had some problems with the hide behaving quite differently than the toggle.

      var $currentPopover = null;
      $(document).on('shown.bs.popover', function (ev) {
        var $target = $(ev.target);
        if ($currentPopover && ($currentPopover.get(0) != $target.get(0))) {
          $currentPopover.popover('toggle');
        }
        $currentPopover = $target;
      });
    
      $(document).on('hidden.bs.popover', function (ev) {
        var $target = $(ev.target);
        if ($currentPopover && ($currentPopover.get(0) == $target.get(0))) {
          $currentPopover = null;
        }
      });
    

提交回复
热议问题