Bootstrap popover over $(this)元素

时间:2016-11-23 10:37:05

标签: twitter-bootstrap popover bootstrap-popover

我有一堆动态创建的元素,并且我能够显示调用此脚本的popover:

$('.gantt').popover({
    selector: '.bar',
    title: 'Test title',
    content: 'Test content',
    trigger: 'hover',
    placement: function() { return 'top' },
    container: 'body'
});

现在,我需要在函数中动态传递标题和内容,然后我就这样了:

[...]
onItemMouseover: function(elm, data) {
    elm.popover({
        selector: '.bar',
        title: data.title,
        content: data.content,
        trigger: 'hover',
        placement: function() { return 'top' },
        container: 'body'
    });
}
[...]

但是popover并没有打开。有什么遗失的吗?

如果我正在调用elm.remove()元素,那么elm正在触发DOM元素。

1 个答案:

答案 0 :(得分:0)

这是一个补丁,可能有更好的官方方式,但我解决了这个问题:

  • 创建了一个popoverContent全局变量
  • 将data.content分配给onItemMouseover
  • 内的popoverContent
  • 调用脚本的第一个版本并从popoverContent变量
  • 中检索内容值

如果您有更好的解决方案,请分享。

更新

以下是代码:

var popoverContent

$(document).ready(function () {
    createGantt(data);

    $('.gantt').popover({
        [...]
        content: function () {
            return popoverContent;
        },
        [...]
    });
}

function createGantt(data) {
    $('.gantt').gantt({
        [...]
        onItemMouseover: function(elm, data) {
            popoverContent = data.detailContent;
        },
    });
};