我正在尝试在进行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 } });
}
});
});
第二只鼠标进入后工作正常。
答案 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 } });
}
});