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 Demoを参照)

show機能を使用する場合は、使用してください (この例show: function(event, api)を参照してください)。次に、varを使用して関数に渡します。api

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

次に、関数でスタッフを実行した後、ツールチップを操作できます!

于 2012-07-11T20:12:54.760 に答える