我正在使用qtip2
进行收费:
function setupTolltip() {
$("g path").each(function () {
var path = $(this);
var sessionId = $("#rsr").attr("data-session");
var clientId = $("#rsr").attr("data-client");
$(this).qtip(
{
content: {
text: function () {
var allPlaces = $(this).attr("data-all");
var freePlaces = $(this).attr("data-free");
var price = $(this).attr("data-price");
var tooltipText = "<div>All: " + allPlaces + "<br/>Free: " + freePlaces + "<br/> Price: " + price + "</div>";
return tooltipText;
}
},
events: {
show: function () {
var levelId = path.attr("level");
updateLevelInfo(path, levelId, sessionId, clientId);
}
},
position: {
target: 'mouse',
adjust: {
x: 10
}
},
style: {
classes: 'ui-tooltip-tipsy ui-tooltip-shadow',
tip: true
}
});
});
}
当工具提示显示我打电话updateLevelInfo
时。此函数生成使用qtip
的ajax请求和更新属性。问题在于这是ajax请求(我不能使用$.get
)和工具提示在执行完函数之前显示。
答案 0 :(得分:1)
为什么不使用AJAX Object中使用的this official demo?
您应始终显示“加载”信息或图片,因此如果在加载内容之前显示工具提示,则没有任何问题。 (再次参见Ajax Demo)
如果您想使用show
功能,请使用show: function(event, api)
(请参阅this example)。然后使用var api
并将其放入函数中:
updateLevelInfo(path, levelId, sessionId, clientId, api);
然后,您可以在完成功能后为员工操作工具提示!