2017-10-11 8 views
0

ajax呼び出しを使用してサーバーから動的にツールチップテキストを表示したいとします。現在、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>'; 
       });    
     } 
}) 

ヒントをリフレッシュしたりヒントツールチップをプログラムで表示するにはどうすればよいですか?

ありがとうございました!!!

答えて

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;    
      } 
    }) 
関連する問題