1

我正在使用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功能。此函数发出 ajax 请求并更新使用qtip. 问题在于这是 ajax 请求(我不能使用$.get)并且工具提示在函数完成执行之前显示。

4

1 回答 1

1

为什么不使用这个官方演示中使用的AJAX对象

您应该始终显示“正在加载”的信息或图像,因此如果在加载内容之前显示工具提示就没有问题。(再次参见Ajax 演示

如果您想使用show功能,请使用show: function(event, api)(请参阅此示例)。然后使用 varapi并将其放入您的函数中:

updateLevelInfo(path, levelId, sessionId, clientId, api);

然后你就可以在你的函数中完成你的工作后操纵工具提示!

于 2012-07-11T20:12:54.760 回答