Turbolinks и сценарии инициализации - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь реализовать скрипт плавной прокрутки в моем веб-приложении Turbolinks, мне нужно вызвать скрипт перед закрывающим тегом body:

var scroll = new SmoothScroll('a[href*="#"]', {header: '[data-scroll-header]'});

Он работает, но только при первом посещении. Turbolinks должен оценивать каждый скрипт внутри тела, но он не может инициализировать плавную прокрутку. У меня была эта проблема с другими похожими сценариями.

Если я поставлю console.log('hello');, я вижу, что он печатается каждый раз, когда я посещаю эту страницу, поэтому Turbolinks работает.

Я пытался добавить прослушиватель событий в голове, но с теми же результатами:

  <script type="text/javascript">
    document.addEventListener("turbolinks:render", function(event) {
      var scroll = new SmoothScroll('a[href*="#"]', {header: '[data-scroll-header]'});
    })
  </script>
...