这可能与我如何设置页面有关,但这里是:
我试图将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出来了,但实际的工具提示似乎是默认的一个窗口:
我已经测试了工具提示的工作原理。我在这里有一个模态窗口,它们可以正常工作:
以下是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);
}
答案 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();