我正在尝试以剃刀形式使用Bootstrap弹出窗口。我在页面上有一个东西列表,可以是任意数量的行。当您将鼠标悬停在该行上时,我想显示一个弹出窗口中的一项。 (不是我的要求)
我的弹出代码工作得很好,除了它的速度极慢。如果列表中有50个项目,则它将弹出窗口功能添加到每个项目中时,它将锁定浏览器30秒。
这是我简化的加载每件事的功能:
$("[name=pop]").each(function () {
$(this).popover({
trigger: "hover",
html: true,
animation: false,
content: getContent($(this).prop("title"))
});
});
这是非常慢的。我不认为我之前见过jquery会循环执行每个循环。弹出窗口会尝试预填充内容吗?我在弹出窗口加载时调用了一个函数来获取内容的部分视图。它没有调用我的getContent,所以我认为它没有尝试预加载。
有什么方法可以加快速度吗?或者有更好的方法可以做到这一点?
答案 0 :(得分:0)
将title
属性更改为data-content
,并使用以下代码。
$("[name=pop]").popover({
trigger: "hover",
html: true,
animation: false
});
更新:
要动态加载内容,请尝试类似的操作
$("[name=pop]").hover(function() {
$(this).popover({
trigger: "hover",
html: true,
animation: false,
content: getContent($(this).prop("title"))
}).popover('show');
});