Как программно показать подвыпивший после 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>';
               });              
        }
 })

Как программно обновить подсказку или показать всплывающую подсказку?

Заранее спасибо !!!


person Abhijeet    schedule 11.10.2017    source источник


Ответы (1)


Функция успеха не возвращает ожидаемое поведение, так как это функция обратного вызова, и возврат не применяется к вашей функции заголовка, поэтому вы можете попробовать приведенный ниже код, который может работать, который устанавливает функцию обратного вызова успеха в новую переменную и возвращает ее в функцию заголовка.

$('.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;            
            }
     })
person anomepani    schedule 11.10.2017