qTip2-更改工具提示的内容后调用函数

时间:2019-03-01 12:38:14

标签: javascript jquery qtip2

我有一个qTip工具提示,其中通过ajax加载了它的内容。内容加载后,我需要调用一个函数someFunction()

$('.element').qtip(
{
    content: 
    {
        text: function(event, api) 
        {
            api.elements.content.text('Loading...');

            var content = $.ajax(
            {
                url: 'loadcontent.php',
                dataType: 'json'
            })
            .then(function(result) 
            {
                // Some code for changing result html
                return result.html;

            }, function(xhr, status, error) 
            {
                api.set('content.text', 'Error');
            });

            // Calling a function, but it's too early (content is still not in the tooltip)
            someFunction();

            return content;
        }
    }
});

说实话,我不确定将someFunction()放在哪里,因此将其称为之后,该内容已添加到工具提示中。更改内容后不会触发任何事件。

1 个答案:

答案 0 :(得分:0)

我想出了一个解决方案:

$('.element').qtip(
{
    content: 
    {
        text: 'Loading...'
    },
    events: 
    {
        show: function(event, api) 
        {
            $.ajax(
            {
                url: 'loadcontent.php',
                dataType: 'json'
            })
            .then(function(result) 
            {
                api.set('content.text', result.html);

                someFunction();

            }, function(xhr, status, error) 
            {
                api.set('content.text', 'Error');
            });
        }
    }
});