隐藏后第一次单击时显示引导弹出窗口的问题

Issue on Displaying Bootstrap Popover on First Click After Hiding

本文关键字:窗口 问题 第一次 单击 显示 隐藏      更新时间:2023-09-26

你能看看这个演示吗?让我知道为什么我在被.data-date点击事件隐藏后,第一次点击时无法显示弹出窗口?

var appcontent = '<button class="btn btn-primary data-date">Close Popover</button>'; 
$(".map").popover({
        trigger: 'click',
        placement: function() { return $(window).width() < 975 ? 'bottom' : 'right'; },
        html: 'true',
        title : '<span class="" style=""><strong>What Date is today?</strong></span>'+
                '<button type="button"  class="btn btn-default close"'
     onclick="$(&quot;#pop-captcha&quot;).popover(&quot;hide&quot;);">x</button>',
        content : appcontent
  }).on('shown.bs.popover', function() {
    var popup = $(this);
    $(this).parent().find("div.popover .close").click(function() {
      popup.click();
    });
  });        
$(document).on("click", '.data-date', function(){
    $('.map').popover('hide');
});

我已经在谷歌和堆栈溢出上尝试了一些解决方案,但它们在这里不起作用

这是因为你在.data data按钮上隐藏了popover,点击后popover实际上并没有关闭,所以当你再次点击.mapdiv时,它会将popover的打开状态切换为关闭状态,下次点击时会再次打开它。希望这是有意义的。

解决方法是调用.map本身的click()方法,就像关闭(x)按钮一样,它将切换popover状态。

$(document).on("click", '.data-date', function(){
   $('.map').click();
});