0

我想使用 ajax 调用从服务器动态显示工具提示文本。目前,工具提示文本不会在第一次单击时更新,因为 ajax 调用需要一些时间来接收数据。

$('.class').tipsy({
        gravity: $.fn.tipsy.autoNS,
        html: true,         
        opacity: 1,
        trigger: "click",
        hoverlock: true,
        title: function () {
            $.ajax({
               url: apiurl,
               type:'GET',
               success: function(data){
                    return '<p>' + data + '</p>';
               });              
        }
 })

如何以编程方式刷新醉意或显示醉意工具提示?

4

1 回答 1

0

成功函数不会返回预期的行为,因为它是回调函数并且返回未应用于您的标题函数,因此,您可以尝试下面可能有效的代码,将成功回调函数设置为新变量并将其返回给标题函数。

$('.class').tipsy({
            gravity: $.fn.tipsy.autoNS,
            html: true,         
            opacity: 1,
            trigger: "click",
            hoverlock: true,
            title: function () {
                var newTitle=''; //Or default like 'This is title'
                $.ajax({
                   url: apiurl,
                   type:'GET',
                   success: function(data){
                   // return '<p>' + data + '</p>';
                  //because it return is inside success callback no make sense for title function
                  newTitle='<p>' + data + '</p>';
                   });  
            return newTitle;            
            }
     })
于 2017-10-11T08:29:03.387 回答