Bootstrap工具提示对我的div不起作用

时间:2015-11-19 09:01:30

标签: jquery html css twitter-bootstrap

这可能与我如何设置页面有关,但这里是:

我试图将Bootstraps默认工具提示应用于我得到的一些div元素。但它出于某种原因并不起作用。当我的页面完成加载时,我运行它:

$(document).ready(function () {
    $('[data-toggle="tooltip"').tooltip();
    GetActivityAbstracts();
    CheckDatetimePickersValidity();
    CreateColumnDescriptions();
    CreateFilterDropdown();
});

需要受工具提示影响的内容在此功能中进行,如上所述:

function GetActivityAbstracts() {
    $.getJSON("", function (testData) {
        var object = $.parseJSON(testData);
        var activityTable = '<tbody></tbody>';
        $.each(object, function () {
            var activityId = this['ActivityId'];
            var activityName = this['ActivityName'];
            var activityResponsible = this['Responsible'];
            var activityEstimatedSavings = parseFloat(this['EstimatedSavings']).toFixed(2);
            var activityEstimatedStart = this['EstimatedStart'];
            var activityEstimatedEnd = this['EstimatedEnd'];
            var activityStatus = this['Status'];
            // TODO: Make more user-friendly Status Descriptions instead of C# enum values.
            var tableElement =
                    '<tr>' +
                    '<td style = "vertical-align: middle; align: center;">'
                    + activityId + '</td>' +
                    '<td style = "vertical-align: middle;">' +
                    '<div class="status-circle" data-toggle="tooltip" data-placement="right"' +
                    'title=" ' + activityStatus + '" style="background-color:' +
                    GetColumnColor(activityStatus) + ';"></div></td>' +
                    '<td style = "vertical-align: middle;">'
                    + activityName + '</td>' +
                    '<td style = "vertical-align: middle;">'
                    + activityResponsible + '</td>' +
                    '<td style = "vertical-align: middle;">'
                    + activityEstimatedSavings + '</td>' +
                    '<td style = "vertical-align: middle;">'
                    + activityEstimatedStart + '</td>' +
                    '<td style = "vertical-align: middle;">'
                    + activityEstimatedEnd + '</td>' +
                    '</tr>';
            activityTable += tableElement;
        });
        $('#current-data-table').append(activityTable);
    });
}

现在HTML出来了,但实际的工具提示似乎是默认的一个窗口:

enter image description here

我已经测试了工具提示的工作原理。我在这里有一个模态窗口,它们可以正常工作:

enter image description here

以下是Circle的样式:

.status-circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 0;
    font-size: 12px;
    /* Don't question it */
    line-height: 1.428571429;
    border-radius: 15px;
    -webkit-transform: translate3d( 0, 0, 0);
}

2 个答案:

答案 0 :(得分:3)

在添加数据后调用$('[data-toggle="tooltip"').tooltip();,如:

$('#current-data-table').append(activityTable);
$('[data-toggle="tooltip"').tooltip();

这是因为,您正在动态插入HTML内容,并且之前已完成对bootstrap tooltip()函数的调用,因此工具提示未在新元素上初始化。

答案 1 :(得分:0)

@Shashank Agrawal,右方括号中缺少您的代码。

更正:

$('#current-data-table').append(activityTable);
$('[data-toggle="tooltip"]').tooltip();