1

bootstrap 的 popover 组件有点麻烦。

我的一个表单可以有多个动态添加的元素,所以我需要使用弹出框的选择器选项为所有这些动态添加一个弹出框。这工作正常。

我想在点击一个新的弹出窗口时关闭其他弹出窗口,所以我也在使用$(body).on("click", "selector")和调用$('selector').not(this).popover('hide');它,出于某种原因,这似乎会导致问题,点击的第一个弹出窗口将显示,然后没有其他弹出窗口会显示所有错误.

如果我将弹出框更改为不使用选择器,那么它可以工作。我能想到的唯一一件事是 jQuery 对被触发的事件进行排序的方式有什么问题吗?

http://jsfiddle.net/nzM6F/10/

4

2 回答 2

0

出于某种原因,selector:在弹出窗口中使用是错误的。

尝试这个:

$("[rel=popover]").popover({
    content: bindToMe,
    placement: 'right',
    html: true
});

http://jsfiddle.net/skelly/nzM6F/11/

您还将获得比body选择器更好的性能。

于 2013-06-07T12:08:23.563 回答
0

尝试将 popover() 添加到您的 .popover 类中:

$("body").append('<div id="popover">I am popover content</div>');
$('#popover').hide();

var bindToMe = $("#popover").html();

$(".pover").popover({
    content: bindToMe,
    placement: 'right',
    html: true,
    trigger: 'manual'
});

$(".pover").click(function(e) {
    $(".pover").not($(this)).popover('hide');
    $(this).popover('show');
  });

见:http: //jsfiddle.net/bassjobsen/nzM6F/15/

于 2013-06-07T12:58:21.303 回答