我使用的是引导4.0 beta,它需要popperjs,即v1.12.5。jQuery是3.2.1版本,采用jQuery.noConflict()模式。这是一个shopify主题,所以在Shopify的Slate命令行工具中包含它使用的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大写,它仍然抛出相同的错误。
发布于 2019-02-13 11:45:48
对于更多的上下文,您将得到此错误,因为您试图使用无效的HTML元素作为下拉按钮。我得到这个错误是因为我尝试使用一个锚标记,它在.下拉菜单div旁边有一个嵌套它的按钮
例如,这是可行的。
<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 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>发布于 2017-11-18 11:18:17
您正以某种方式将无效的DOM元素传递给Popper.js,如果将Popper.js更新为最新版本,您将得到更好的错误消息。
https://stackoverflow.com/questions/47355640
复制相似问题