TurbolinksでjQueryのloadイベントが発火しない罠
背景
navbarが可変の時にmain要素をリサイズしたいと思い実装していたが、画面リロード・リサイズでは発火するが画面遷移では発火しない事象が発生しました。
そのときの解決コードが以下の通り
動かないコード
$(document).on('turbolinks:load', function() {
$(window).on('load resize', function() {
// resizeは動くが、loadは画面リロードしないと働かない…
})
});
動くコード
以下が、動くコード。ポイントは、turbolinks:loadをresizeと一緒に埋め込んでいること!
$(window).on('turbolinks:load resize', function() {
// resizeでもloadでも働く働き屋さん!
})