Я пытаюсь реализовать скрипт плавной прокрутки в моем веб-приложении 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>