Twitter引导程序弹出显示在第二个悬停和之后但不是第一个。

时间:2013-05-16 03:08:42

标签: javascript jquery twitter-bootstrap

我正在尝试在进行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 } });
            }
        });
    });

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

1 个答案:

答案 0 :(得分:3)

只需删除mouseenter内容,popover仍然只会显示在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 } });
    }
});