0

我正在尝试在进行 ajax 调用后显示元素的弹出框。就 ajax 请求和第一次获取数据而言,一切正常,除了当鼠标悬停事件发生时不显示任何数据。但是当您再次将鼠标悬停在它上面时,您可以在弹出框中看到数据。我在这里和网络上环顾四周,发现了类似的情况,但没有我的情况复杂(没有鼠标悬停事件和 ajax)。我知道当我在我的情况下第一次调用它时,popover 似乎没有被初始化。但问题是,我只能在调用 ajax 后才能显示它,而且它必须是 mouseenter。任何人都可以修改或指导我在第一次尝试时显示弹出框。感谢您的帮助(请注意,我的页面上有两个,我只显示其中一个)。

元素

<a href="#" rel="popover" id="users">Access Count:</a>

Javascript

 $('#users').mouseenter(function () {
        $.ajax({
            type: "GET",
            url: "/album/feature_getaccess",
            data: { aID: modelID },
            success: function (result) {
                $('#users').popover({ content: result, html: true, placement: 'top', trigger: 'hover', delay: { show: 500, hide: 1500 } });
            }
        });
    });

在第二只鼠标进入后工作正常。

4

1 回答 1

4

只需删除 mouseenter 的东西,弹出框仍然只会出现在 mouseenter 上,因为您已将其设置为trigger: 'hover'

$.ajax({
    type: "GET",
    url: "/album/feature_getaccess",
    data: { aID: modelID },
    success: function (result) {
        $('#users').popover({ content: result, html: true, placement: 'top', trigger: 'hover', delay: { show: 500, hide: 1500 } });
    }
});
于 2013-05-16T03:20:41.407 回答