Bootstrap 4 Popper.js:如何动态更新弹出窗口的内容?

时间:2018-11-02 10:56:39

标签: javascript html bootstrap-4 popper.js

我正在尝试使用来自服务器的ajax形式的html内容来更新popper.js中弹出窗口的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>

在Java语言中:

$('[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";

1 个答案:

答案 0 :(得分:0)

您可以使用Tippy.js,它以Popper.js作为其核心引擎,就像Tooltip.js一样。

使用Tippy.js更加容易(它易于创建load data via ajax):

tippy('#ajax-tippy', {
  content: 'Loading...',
  animateFill: false,
  animation: 'fade',
  flipOnUpdate: true,
  onShow(instance) {
    // call ajax; then use instance.setContent(responseText);
  },
})