我在单击时有一个toggleClass,默认情况下不能在单击时使用,但是当我重新加载页面时,菜单不会在单击时进行切换,尽管那样,它将继续检查宽度以进行切换。
JavaScript会在加载时检查宽度,并根据宽度以及窗口大小的变化删除或添加类。它还允许点击切换。
这是它的代码:
$(function(){
function checkWidthAndToggle() {
if($(window).width()<=992){
$("#wrapper").removeClass("toggled");
}else{
$("#wrapper").addClass("toggled");
}
}
$("#menu-toggle").click(function(e) {
e.preventDefault();
$("#wrapper").toggleClass("toggled");
});
$(window).resize(checkWidthAndToggle);
checkWidthAndToggle();
});
页面重新加载后如何继续允许toggleClass
?
我也使用涡轮链接。
答案 0 :(得分:0)
如果您使用涡轮链接5(轨道5上的红宝石中的涡轮链接),则应为turbolinks:load
事件添加事件监听器。
更多:https://github.com/turbolinks/turbolinks#observing-navigation-events
答案 1 :(得分:0)
不确定到底是什么问题,但是我所做的事情添加了
// =需要file_name.js
在顶部附近的application.js文件中,并解决了该问题。
当我移动// = require树时,我注意到了。最重要的是,这个问题将消失。因此,我只是需要文件本身,因此它比大多数其他文件先加载。我使用Bootstrap,jQuery和turbolinks,所以我假设其中之一干扰了负载。