在运行时生成的元素的Bootstrap popover

时间:2014-08-04 14:29:15

标签: javascript jquery html css twitter-bootstrap

问题陈述

我需要在运行时添加bootstrap popover, 我遵循了这个fiddle link

我已根据我的需要分配上述小提琴

链接到my fiddle

我正在尝试在按钮点击时添加新的引导程序弹出窗口,链接已成功添加,但弹出过量的工作。

HTML

<div class="well">
<a href="#" class="btn btn-primary" data-toggle="popover" title="" data-content="And                 here's some amazing content. It's very engaging. right?" data-original-title="A Title">Click to toggle popover</a>

<a class="btn bad">Bad button</a>

</div>

的javascript

var $popover = $('[data-toggle=popover]').popover();

//first event handler for bad button
$('.bad').click(function () {
    alert("clicked");
});


$(document).on("click", function (e) {
    var $target = $(e.target),
        isPopover = $(e.target).is('[data-toggle=popover]'),
       inPopover = $(e.target).closest('.popover').length > 0

//does absolutely nothing. Only wastes memory
$('.bad').click(function () { 
    console.log('clicked');
    return false;
    });

//hide only if clicked on button or inside popover
if (!isPopover && !inPopover) $popover.popover('hide');
});

依赖关系: jquery 1.9.1 自举combined.min.css bootstrap.min.js

提前致谢

1 个答案:

答案 0 :(得分:1)

添加后需要初始化popover。

   var $popover = $('[data-toggle=popover]').popover();

请参阅此fiddle