Rails5、turbolinksオンでWebアプリを作っています。ページを遷移した時点で実行してほしいメソッドを、
js
1$(document).on('turbolinks:load', function() { 2 // コード 3});
の中にたくさん書いています。通常は問題なく動作するのですが、ひとつ問題で、ブラウザバックしたときのみイベントが発火してくれません。
例えば、フォームの値を審査してくれるjqueryプラグインを入れているのですが、戻るボタンを押してフォームの画面に戻ると、そのプラグインは実行されず、問題のある値でフォームを送信できてしまいます。
おそらくturbolinksの影響なのですが、ブラウザバックしたときにも、turbolinks:load内のイベントを実行させるにはどうしたらよいでしょうか?
高速化するので、なるべくturbolinksは切りたくないところではあります。。。
!!!!!!!1/24追記!!!!!!!!!!!!!
どうやら、ページ遷移ですらturbolinks:load内のコードは実行されていないようです。
jsをたくさん利用するページへのリンクに data: { turbolinks: false } を設定しturbolinksをオフにすることで、対応しています。
通常のページ遷移時も、jsを実行したい場合どうすればいいのでしょうか?turbolinks:loadは解決策ではないのですか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。