页面更改时视图不会在 Rails 4 应用程序中加载 JS

View won't load JS in Rails 4 application on page change

请多多包涵,因为我是 Rails 的新手,对 JS 的经验很少。

我为我的 rails 应用程序购买了一个 Bootstrap 主题,但我 运行 遇到了编写 JS 的问题。由于 turbolinks,它没有加载各种脚本,但我不知道如何解决这个问题。这是主题附带的 JS 文件。

Theme.JS 文件:

    (function ($) {
            "use strict";




            $(window).load(function () {
                // ----------------------------------------------------------------------------------------------------------------------->
                // SITE LOADER                     ||-----------
                // ----------------------------------------------------------------------------------------------------------------------->
                $('#loader').fadeOut();
                $('#preloader').delay(350).fadeOut('slow');
                $('body').delay(350).css({ 'overflow': 'visible' });


            })


            // ---------------------------------------------------------------------------------------------------------------------------->
            // GENERAL SCRIPTS FOR ALL PAGES    ||-----------
            // ---------------------------------------------------------------------------------------------------------------------------->


            $(document).ready(function () {

                openSite();

            });




            function openSite() {
                fullScreenSlider();
                header();
                scroll();
                winResize();
                pushmenu();
                pluginElement();
                sliderHero();
                sliderAll();
                containerGridMasonry();
                scrollCallbackEle();
                shortcodeElements();

            };



            // ---------------------------------------------------------------------------------------------------------------------------->
            // RESIZE FUNCTIONS   ||-----------
            // ---------------------------------------------------------------------------------------------------------------------------->

            function winResize() {

                $(window).resize(function () {

                })
            };



    })(jQuery);

我搞砸了

$(document).on('ready page:change', function(){
  fullScreenSlider();
  header();
  scroll();
  winResize();
  pushmenu();
  pluginElement();
  sliderHero();
  sliderAll();
  containerGridMasonry();
  scrollCallbackEle();
  shortcodeElements();
});`

以及 运行ning page:load 围绕 OpenSite 功能,仅围绕 Jquery 部分,围绕所有功能。我真的很茫然,不知道我做错了什么。我使用了 turbolinks Gem 并且我认为它已修复但在页面重新加载后页面上只有几件事可以工作。

这里有一个功能列表,在单击 link 更改视图后似乎可以正常工作。

header()

sliderAll()

skillsProgressBar()

手风琴()

accordion() is intermittent and I have no idea why it works when nothing else is working. It never really worked but started working when everything else broke.

如有任何想法,我们将不胜感激。我可能在这里做错了很多,但是,就像我说的,我是新手,正在对此进行 class,但我们快到学期末了,甚至还没有涵盖 Gems .

PS。我知道我需要让页面更改的功能 运行 而不是 document.ready 但我已经尝试了将近一周的时间来解决它,但无济于事。

还有一个 jquery rails gem 修复了一些问题。但最简单的解决方案可能只是删除 turbolinks。