Popover не будет прятаться после вызова ajax и не зависания - PullRequest
0 голосов
/ 11 мая 2019

У меня есть поповер, и я добавляю атрибут содержимого с помощью вызова ajax, как этот.

$(document).ready(function(){
    $('[data-toggle="popover"]').hover(function() {
        var popover = $(this);
        popover.off('hover');
        getRemoteData(popover);
    });
});

function getRemoteData(popover) {
    $.ajax({
        url: '/comentario/1',
        dataType: 'html',
        success: function (data) {
            popover.attr('data-content', data).popover('show');
        }
    });
}

Моя проблема в том, что мой поповер всегда срабатывает, даже если я не зависаю, может, я делаю это неправильно?

Также попробовал этот метод:

$('[data-toggle="popover"]').popover({title: "Header", content: function() { return //return ajax here;}, trigger: "hover"}); 

но вместо получения текста ajax я получаю [Object Object]

1 Ответ

1 голос
/ 11 мая 2019

Вместо использования события hover вы можете использовать события mouseenter и mouseleave.

$('[data-toggle="popover"]').on("mouseenter", function() {
    var e=$(this);  
    $.ajax({
        url: '/comentario/1',
        dataType: 'html',
        success: function (data) {
            e.popover({content: data}).popover('show'); 
        }
    });
});

$('[data-toggle="popover"]').on("mouseleave", function() {
    var e=$(this);
    $(this).popover('hide'); 
});

Он будет вести себя как hover и будет работать нормально.

...