Ruby on rails 4 引导导航栏折叠菜单不适用于TurboLink

Ruby on rails 4 引导导航栏折叠菜单不适用于TurboLink,ruby-on-rails-4,twitter-bootstrap-3,turbolinks,Ruby On Rails 4,Twitter Bootstrap 3,Turbolinks,引导导航栏折叠菜单不适用于TurboLink 工作场景 页面加载 单击菜单和下拉列表 再次单击菜单并折叠 不工作(导航到任何页面后) 页面加载 相同的html,无需重复 单击菜单和下拉列表 相同的html,无需重复 再次单击菜单并折叠 3.1。在调试器中观察到的瞬态更改 注:高度:96px 3.2。然后回到原来的状态 注意:与步骤2中的html相同 Libs版本: 涡轮链接2.1.0 JQuery 2.0.3 引导程序3.0.3 我希望有人能给出一个真正的答案或解释。

引导导航栏折叠菜单不适用于TurboLink

工作场景

  • 页面加载

    
    
  • 单击菜单和下拉列表

    
    
  • 再次单击菜单并折叠

    
    
  • 不工作(导航到任何页面后)

  • 页面加载

    相同的html,无需重复
    
  • 单击菜单和下拉列表

    相同的html,无需重复
    
  • 再次单击菜单并折叠

    3.1。在调试器中观察到的瞬态更改

    
    
    注:高度:96px

    3.2。然后回到原来的状态

    
    
    注意:与步骤2中的html相同

  • Libs版本:

    • 涡轮链接2.1.0
    • JQuery 2.0.3
    • 引导程序3.0.3

    我希望有人能给出一个真正的答案或解释。

    这里的责任人是Turbolinks。解决方法是不加载Turbolinks javascript

    在文件中

    app/assets/javascripts/application.js

      $(document).on("page:change", function() {
         $(".navbar .dropdown").hover((function() {
             $(this).find(".dropdown-menu").first().stop(true, true).delay(150).slideDown();
        }), function() {
             $(this).find(".dropdown-menu").first().stop(true, true).delay(50).slideUp();
        });
      });
    
    删除这一行


    /=require turbolinks

    脏的解决方案是将以下内容放入您的
    应用程序.js

      $(document).on("page:change", function() {
         $(".navbar .dropdown").hover((function() {
             $(this).find(".dropdown-menu").first().stop(true, true).delay(150).slideDown();
        }), function() {
             $(this).find(".dropdown-menu").first().stop(true, true).delay(50).slideUp();
        });
      });
    
    请注意,它是
    更改
    而不是
    加载

    其他解决方案

    制作永久元素。使用jQuery打开或关闭下拉列表


    按钮
    将其添加到标题上


    我也有同样的问题,在玩了一段时间后,我发现禁用是最好的。但是能够使用Turbo链接会很酷。关于这个问题有任何更新吗?我根本不使用Turbo链接,我在做单页应用程序。还要从javascript\u include\u标记中删除“data turbolinks track”=>true。