Railsのturbolinksでjavascriptが発火しない問題の解決策
$(document).on 'turbolinks:load', ->
をつける
$(document).on 'turbolinks:load', -> $('#hogehoge').click -> alert "clicked hogehoge"
page:loadを使う
ready = -> $('#hogehoge').click -> alert "clicked hogehoge" $(document).ready(ready) $(document).on('page:load', ready)
jqueryの'ready'とTurbolinksの'page:load'の両方カバーできる。
非Turbolinks遷移時は'ready'で発火、Turbolinks遷移時は'page:load'で発火の両方をカバーするという意味。
Turbolinksをサポートしていないブラウザでも'ready'が発火するので安心。 jquery-turbolinksというgemを使うと'ready'triggerにpage:loadを追加してくれる。