Twitter Bootstrap popover无法在第一次点击时工作

时间:2016-01-21 06:45:07

标签: javascript jquery html twitter-bootstrap

当我点击一个锚点时,我正在显示一个弹出窗口。但是弹出窗口没有在第一次点击时触发,它在第二次点击时是如何工作的。

HTML:

    <!-- Pop Check -->
<div class="popover-markup">
   <input class="checkbox-inline" type="checkbox" value="Option1">
   <a href="javascript:void(0)" class="trigger" data-placement="bottom" tooltip="Manage Users">Option1</a>
   <!-- Popup Content-->
   <div class="content hide">
      <div class="head hide">Select Users For Option1<span class="close_popover"><i class="fa fa-times"></i></span></div>
      <div>
         <label class="checkbox-inline">
         <input type="checkbox" id="" class="si_DSCM" value="user6"> User 6
         </label>
      </div>
   </div>
</div>

JS:

$(document).on('click', ".popover-markup>.trigger", function () { 

    $(this).popover({
        html: true,
        title: function () {
            return $(this).parent().find('.head').html();
        },
        content: function () {
            return $(this).parent().find('.content').html();
        }
    });    
});

这是我的小提琴:https://jsfiddle.net/47pef6g8/

我发现了类似的问题,但在我的情况下它并没有帮助我。

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:6)

非常清楚地看到你的代码,你正在初始化点击上的弹出窗口。因此,需要两次单击才能显示弹出窗口。我的建议是在加载文档时初始化popover。

根据您的问题检查示例Fiddle

$('[data-toggle="popover"]').popover({
    html: true,
    title: function () {
        return $(this).parent().find('.head').html();
    },
    content: function () {
        return $(this).parent().find('.content').html();
    }
}); 

希望这有帮助。

- 帮助:)