Я создаю блог с кодом на приложении rails 5.1.6, которое использует turbolinks 5.2.0.
Я хочу сделать очень простую вещь: выделить код (используя плагин js) после загрузки контента, поэтому я добавил это на страницу:
coffee:
$(document).on "turbolinks:load", ->
Highlighter.init()
Это хорошо работает при новой загрузке. Однако, когда вы находитесь на другой странице и нажимаете на ссылку, чтобы перейти туда, событие turbolinks:load
запускается до обновления содержимого , поэтому выделение не работает.
Знаете ли вы, что происходит или как это исправить?
EDIT:
Я знаю, что turbolinks:load
запускается до изменения содержимого, потому что я пытался добавить debugger
:
coffee:
$(document).on "turbolinks:load", ->
debugger # => This is called before new content is rendered
Highlighter.init()
РЕДАКТИРОВАТЬ 2:
Это просто Highlighter.init()
:
class Highlighter
@init: ->
console.log "Trying to highlight"
hljs.initHighlightingOnLoad()