首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当与bootstrap4一起使用时,jquery没有定义popperjs第2325行。

当与bootstrap4一起使用时,jquery没有定义popperjs第2325行。
EN

Stack Overflow用户
提问于 2017-11-17 16:53:09
回答 2查看 2.7K关注 0票数 0

我使用的是引导4.0 beta,它需要popperjs,即v1.12.5。jQuery是3.2.1版本,采用jQuery.noConflict()模式。这是一个shopify主题,所以在Shopify的Slate命令行工具中包含它使用的javascript文件。我的包含文件如下所示:

代码语言:javascript
复制
// =require vendor/jquery-3.2.1.js
// =require vendor/popper.js
// =require vendor/bootstrap.min.js

当我尝试使用Bootstrap下拉开关时,我会得到控制台错误

Uncaught TypeError: Cannot read property 'jquery' of undefined

jQuery在所有非弹出程序引导功能和自定义jQuery javascript中都正常工作。但是,当我在控制台中输入jquery (带有小写q)时,并没有定义jquery,但这是popperjs在第2325行中使用的。如果我编辑popperjs源代码并将Q大写,它仍然抛出相同的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-13 11:45:48

对于更多的上下文,您将得到此错误,因为您试图使用无效的HTML元素作为下拉按钮。我得到这个错误是因为我尝试使用一个锚标记,它在.下拉菜单div旁边有一个嵌套它的按钮

例如,这是可行的。

代码语言:javascript
复制
<button class="dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
</button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Thing 1</a>
    <a class="dropdown-item" href="#">Thing 2</a>
    <a class="dropdown-item" href="#">Thing 3</a>
  </div>

但这不是

代码语言:javascript
复制
<a class="dropdown">
<button class="dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
</button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Thing 1</a>
    <a class="dropdown-item" href="#">Thing 2</a>
    <a class="dropdown-item" href="#">Thing 3</a>
  </div>
</a>
票数 3
EN

Stack Overflow用户

发布于 2017-11-18 11:18:17

您正以某种方式将无效的DOM元素传递给Popper.js,如果将Popper.js更新为最新版本,您将得到更好的错误消息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47355640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档