Rails 5 使用 application.js
做了一个 NAV 的边栏采单
//= require rails-ujs
//= require jquery3
//= require popper
//= require bootstrap-sprockets
//= require activestorage
//= require turbolinks
//= require_tree .
$(document).ready(function() {
jQuery(function ($) {
$(".sidebar-dropdown > a").click(function() {
$(".sidebar-submenu").slideUp(200);
if ($(this).parent().hasClass("active")){
$(".sidebar-dropdown").removeClass("active");
$(this).parent().removeClass("active");
} else {
$(".sidebar-dropdown").removeClass("active");
$(this).next(".sidebar-submenu").slideDown(200);
$(this).parent().addClass("active");
}
});
$("#close-sidebar").click(function() {
$(".page-wrapper").removeClass("toggled");
});
$("#show-sidebar").click(function() {
$(".page-wrapper").addClass("toggled");
});
});
})
如果加入 turbolinks 就无效(菜单里的下拉)是什么原因?
if ($(this).parent().hasClass("active")){
$(".sidebar-dropdown").removeClass("active"); 这行不执行
$(this).parent().removeClass("active"); 这行也不执行
} else {
$(".sidebar-dropdown").removeClass("active");
$(this).next(".sidebar-submenu").slideDown(200);
$(this).parent().addClass("active");
}
把第一行改为:
$(document).on('turbolinks:load', function() {
也是没效果(drop-down)。