【问题标题】:Uncaught TypeError: $(...).popover is not a function未捕获的类型错误:$(...).popover 不是函数
【发布时间】:2021-01-27 23:26:54
【问题描述】:

我在启用 popover 任何解决方案时遇到此错误...

这是我的popover函数,这有什么问题?

$('#popcart').popover();
document.getElementById('popcart').setAttribute('data-bs-content', "<h5> Hello Welcome </h5>");

这是我正在尝试更改 data-bs-content 的按钮。

<button type="button" class="btn btn-secondary mx-2" animation="true" data-bs-container="body"
             id="popcart" data-bs-html="true" data-bs-toggle="popover" data-bs-placement="bottom"
             data-bs-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Cart(<span id="cart">0</span>)
</button>

【问题讨论】:

  • 您是否正确包含库代码?请确保发布的代码是minimal reproducible example
  • 您的问题是您正在尝试更改 data-bs-content,但您的错误出现在 popover 上?删除弹出框线。还是弹出框不起作用和有关 data-bs-content 的 cmets/代码无关的问题?
  • 其中之一:您没有包含 popover.js/您没有在代码之前包含它/您在覆盖 popover 插件的 popover 之后加载了第二个 jquery。很可能是第一个。

标签: javascript python html jquery


【解决方案1】:

我最近遇到了同样的错误,如果您确定您的库代码已正确导入,那么您可能有两个或多个 jQuery 实例或 $ 函数。尝试在代码顶部添加noConflict() 函数:

<script>
    $.noConflict();
    jQuery( document ).ready(function($) {//Here you can add any code that is using jQuery});
    // And you can use here for other instances of $
</script>

【讨论】:

  • 如果这是问题所在,那么错误将是$ is not a function,而不是popover is not a function
  • 不,错误是'Uncaught TypeError: $(...).popover is not a function',你可以看到这里的参考是“jQuery.function”
  • “库是正确的”“两个或多个 jquery 实例” - 这些显然是冲突的。更好地修复重复的 jquery 实例
  • @freedomn-m 是的,他的首要任务应该是修复它们,但我们知道的很少,也许 OP 有另一个使用 $ 的框架,他必须在不删除这个重复项的情况下处理它。
最近更新 更多