Это просто какое-то феерическое фуфло...
Использую JQuery Widget Tooltip, чтобы показать ответ ajax в виде подсказки.
Есть массив, который должен хранить ответы сервера.
При наведении на элемент с классом "hero" берется его значение data-id, и если оно уже есть в массиве , то подсказка берется оттуда.
Если же значения в массиве нет, то делается запрос на сервер по этому id, а ответ, во-первых, заносится в массив, а во-вторых, ДОЛЖЕН, НО НЕ ПОКАЗЫВАЕТСЯ

в качестве текста посказки.
Таким образом, скрипт отрабатывает сейчас так:
я навожу на элемент с классом hero, нифига не происходит, но ответ появился в массиве .
отвожу курсор с элемента, снова навожу и подсказка показывается, т.к. найден в массиве.
Помогите, пожалуйста, допилить так, чтобы подсказка показывалась сразу в любом случае
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
var heroes = {"1":"shit 1" };
$(document).tooltip({
items:'.hero',
tooltipClass:'preview-tip',
position: { my: "left+15 top", at: "right center" },
show:false,
hide:false,
track: false,
content:function() {
var elt = $( this );
var hero_id = elt.data("id");
if (typeof(heroes[hero_id]) != "undefined"){
return heroes[hero_id];
}
else{
var answer;
$.ajax({
url: "ajax_1.php",
method: "POST",
data: "a=1&b=2"
}).done(function(data) {
heroes[hero_id] = data;
answer = data;
}).fail(function() {
answer = "error";
});
return answer;
}
}
});
</script>
<img src = "sw.jpg" class = "hero" data-id = "2">