事件turbolinks:加载工作奇怪

时间:2016-08-13 10:02:10

标签: javascript ruby-on-rails

请帮助我。我使用rails5和gem turbolinks。我的导航菜单代码:

<div id="templatemo_menu" class="ddsmoothmenu">
    <ul>
      <li><a class="level_0 index" href="/">Главная</a></li>

      <li><a class="level_0 about" href="/pages/about">О нас</a></li>

      <li><a class="level_0 portfolio" href="/type_works">Портфолио</a>
        <ul>
            <li><a class="level_1" href="/works?type_work_id=1">Corporate Metrics Liaison</a></li>
            <li><a class="level_1" href="/works?type_work_id=2">Chief Solutions Planner</a></li>
            <li><a class="level_1" href="/works?type_work_id=3">Central Applications Architect</a></li>
            <li><a class="level_1" href="/works?type_work_id=4">Global Metrics Executive</a></li>
        </ul>
      </li>

      <li><a class="level_0 blog" href="/blog_articles">Блог</a></li>

      <li><a class="level_0 contact" href="/contact_messages/new">Контакт</a></li>
    </ul>

    <br style="clear: left">
  </div>

我需要在点击&#39;。&#39;后,BODY背景变为红色。但现在点击BODY背景后没有改变。它的问题。

我试图解决:

var menuActivePunkt = function(){ 
  var pathname = location.pathname,
    pathnameList = pathname.split('/'),
    slug1 = pathnameList[1],
    slug2 = pathnameList[2];

  console.log('slug1', slug1);
  console.log('slug2', slug2);

  $('#templatemo_menu a').removeClass('selected').on('click', function() {
    if(slug1 == 'pages' && slug2 == 'about') {
      //$('.index').addClass('selected');
      $('body').css({'background': 'red'});
    };
  });
}


$( document ).on('turbolinks:load', function() {
  menuActivePunkt();
})

1 个答案:

答案 0 :(得分:0)

当您在此页面上使用JQuery时。 所以

首先:您必须要求jquery-turbolinks gem

第二次:编辑app/assets/javascripts/application.js个文件

//= require jquery

//= require jquery.turbolinks

//= require turbolinks

希望这对你有帮助!