Rails 4: Turbo-Links による jQuery イベント機能の強化
Rails 4 アプリケーションで JavaScript ファイルを整理するときに、次のような問題が発生することは珍しくありません。 jQuery の「ready」イベントに関する問題。ターボリンクが有効になっていると、このイベントは後続のクリックで起動できず、ready(function($) {} 内のイベント ハンドラーが非アクティブなままになります。
この課題に対処するには、解決策として Rails 固有のリスナーを実装するか、またはRails 独自のメカニズムを活用してイベント機能を確保します。
効果的なアプローチの 1 つは、CoffeeScript またはJavaScript:
ready = -> ...your coffeescript goes here... $(document).ready(ready) $(document).on('page:load', ready)
このアプローチでは、ページの読み込み後にターボリンクがトリガーされる page:load イベントを使用します。
Rails 5 アプリケーションの場合 (Turbolinks 5 を使用)、page:load イベントこれは、最初のページ読み込み時にも起動される、turbolinks:load に置き換えられました。したがって、次のイベント リスナーが発生します。 suffices:
$(document).on('turbolinks:load', function() { ...your javascript goes here... });
このアプローチを実装すると、jQuery イベント機能をターボリンクとシームレスに統合でき、最初とその後のページ読み込みの両方でイベント処理が保証されます。
以上がjQuery イベントが Rails 4 および Turbo Link で正しく動作することを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。