javascript - Bootstrap 4 Popper.js:如何动态更新弹出窗口的内容?
问题描述
我正在尝试使用popper.js
从服务器以 ajax 返回的 html 内容来更新弹出窗口的 HTML 内容。
弹出窗口是在页面加载时创建的。在 HTML 中:
<a id="upvote-637" title="Popup"
data-toggle="popover"
data-content="<ul><li>item 1</li><li>Item 2</li></ul>"
data-remote="true"
href="/posts/637/upvote">
Link text
</a>
在 Javascript 中:
$('[data-toggle="popover"]').popover({
trigger: 'hover',
html: true
});
我想动态更新内容。我试过了 :
// This is working to Toggle display
$("#upvote-637").popover('toggle')
// This is not working to update the content dynamically
$("#upvote-637").popover('toggle')[0].dataset.content = "TEST";
解决方案
您可以使用 Tippy.js,它使用 Popper.js 作为其核心引擎,就像 Tooltip.js 一样。
使用 Tippy.js 更容易(它被构建为通过 ajax 轻松加载数据):
tippy('#ajax-tippy', {
content: 'Loading...',
animateFill: false,
animation: 'fade',
flipOnUpdate: true,
onShow(instance) {
// call ajax; then use instance.setContent(responseText);
},
})
推荐阅读
- jquery - Bootstrap Mega Menu 定位错误
- mysql - 在 Laravel 模型的关系中,如何使用 GROUP BY 和 MAX 返回关系?
- parallel-processing - 矩阵乘法:在 CUDA 中合并全局内存访问后性能下降
- android - 如何从反应原生打开android活动
- javascript - 如何在 JavaScript 中添加 CSS 类?
- javascript - 在角度模板中使用 jquery ui 小部件
- javascript - mongoDB 上整个集合的平均值
- javascript - 从离子警报将警报文本输入保存到数据库中
- c++ - 使用 qprocess 将参数传递给批处理
- powerbi-embedded - Power Bi Embedded Javascript api getVisuals