Toggleclass停止进行页面重新加载,如何保持其活动状态?

时间:2019-03-29 10:08:56

标签: javascript jquery ruby-on-rails ruby

我在单击时有一个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

我也使用涡轮链接。

2 个答案:

答案 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,所以我假设其中之一干扰了负载。