Error: No method named "destroy" for popover bootstrap

Error: No method named "destroy" for popover bootstrap

我想在延迟时间后自动关闭弹出窗口。但显示错误 error image

$('#prev_button').popover('show');

$('#prev_button').on('shown.bs.popover', function() {
  var $pop = $(this);

  setTimeout(function() {
    $pop.popover('destroy');
  }, 1000);
});
包含

bootstrap.bundle.js 以确保弹出方法有效。想不出解决方案

PS: 使用 v4.1 bootstrap

请分享 bootstrap 版本详细信息以获得更好的帮助,如果您能准备一个 jsfiddle 就更好了。
这是一个 jsfiddle link,您可以在其中找到使用 Bootstrap 3.0.
的代码 如果您使用的是 Bootstrap 4,那么以下 reference 会有所帮助。
一些建议:
1. 如果你只是想关闭它,你应该使用 hide rather than destroy.
2.你也可以直接通过delay作为延迟显示或隐藏的选项,这样

delay: { 
   show: "500", 
   hide: "1000"
},

HTH

从 4.1 版开始,方法 destroy 已被 dispose 取代。您可以找到更多详细信息 here.

$pop.popover('dispose');

Popover 插件类似于工具提示。要销毁显示的弹出窗口,您可以使用以下 code-snippet:

$pop.popover('destroy'); // jQuery < 4.1
$pop.popover('dispose'); // jQuery > 4.1

您还可以通过 .popover class 从 DOM 中删除所有创建的弹出窗口(每个弹出窗口都有一个 ID,因此通过了解 ID 可以更加精确)

$('.popover').remove();