javascript - 控制台浏览器中的错误:未捕获的 TypeError:$ (...)。AaDropdownMenu 不是函数
问题描述
我有一个使用 Active_Admin 和其他插件的 Rails 项目,我在浏览器控制台中收到此错误。我该如何解决?
Uncaught TypeError: $(...).aaDropdownMenu is not a function
at HTMLDocument.onDOMReady (dropdown-menu.self-5794b6ca26364ce522cb47a8ef050870fda0b886cfeef69ec27ef116900f1984.js?body=1:121)
at HTMLDocument.dispatch (jquery3.self-5af507e253c37e9c9dcf65064fc3f93795e6e28012780579975a4d709f4074ad.js?body=1:5184)
at HTMLDocument.elemData.handle (jquery3.self-5af507e253c37e9c9dcf65064fc3f93795e6e28012780579975a4d709f4074ad.js?body=1:4992)
at Object.e.dispatch (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:6)
at r.notifyApplicationAfterPageLoad (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:7)
at r.pageLoaded (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:7)
at turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:6
应用程序.js
//= require rails-ujs
//= require activestorage
//= require jquery
//= require turbolinks
//= require popper
//= require jquery.slick
//= require_tree .
activ_admin.js.coffe
#= require active_admin/base
和控制台
$.widget.bridge('aaDropdownMenu', ActiveAdmin.DropdownMenu);
onDOMReady = function() {
return $('.dropdown_menu').aaDropdownMenu(); // Uncaught TypeError: $(...).aaDropdownMenu is not a function
};
解决方案
我有完全相同的错误。您应该首先更改 application.js 中的顺序 jquery 应该放在首位(这是一个非常重要的库)。我还更改了 jquery 库的版本。
//= require jquery3
//= require rails-ujs
//= require activestorage
//= require turbolinks
//= require popper
//= require jquery.slick
//= require_tree .
推荐阅读
- java - 如何使用@NaturalId 正确覆盖 Hibernate 实体的等于
- action - Adobe Photoshop“另存为”操作
- javascript - 当字符串包含数组中的单词时向字符串添加空格
- wpf - 如何转换边框而不是里面的内容?
- c++ - 两包可变参数模板参数
- sql - 插入具有计算值和默认值的表
- excel - 用环绕Excel VBA填充对角矩阵
- python - 主窗口中的多个 QGraphicsView 和 QGraphicsScene
- knative-serving - knative 可以通过 Kubernetes Server 删除已部署的应用吗?
- java - 通过 whatsapp 共享 mp3(不支持此文件)错误