ホームページ > ウェブフロントエンド > jsチュートリアル > Rails 4 と Turbo-Links で jQuery の「ready」イベントの失敗を修正する方法は?

Rails 4 と Turbo-Links で jQuery の「ready」イベントの失敗を修正する方法は?

Patricia Arquette
リリース: 2024-12-12 17:38:11
オリジナル
129 人が閲覧しました

How to Fix jQuery's `ready` Event Failure with Rails 4 and Turbo-Links?

Turbo-Links を使用した Rails 4 での DOM イベント処理

初期ページ読み込み後に jQuery の 'Ready' イベントが発生しない?

Rails 4 アプリケーションの場合アセット パイプラインを実装すると、JS 組織を管理する必要が生じます。ユーザーは、Turbo-Links が原因で、その後のリンクのクリックで jQuery の Ready イベントがトリガーされないという問題に遭遇する可能性があります。

Turbo-Links の影響について理解する

Turbo-Links は、ページ遷移を完全に実行せずにナビゲーションを強化します。リロードします。この最適化により、後続のリンクのクリックではページのコンテンツのみが更新されるため、最初のページの読み込み後に Ready イベントが発生することがなくなります。

問題の解決

jQuery イベントが Turbo-Links とシームレスに機能するようにするには、次のアプローチをお勧めします:

CoffeeScript バージョン

ready = ->
  # Place your CoffeeScript code here
$(document).ready(ready)
$(document).on('page:load', ready)
ログイン後にコピー

「page:load」イベントは Turbo-Links によってトリガーされ、ready イベントの信頼できる代替手段を提供します。

JavaScript バージョン

var ready;
ready = function() {
  # Insert your JavaScript code here
};
$(document).ready(ready);
$(document).on('page:load', ready);
ログイン後にコピー

Rails 5 Update

Rails の場合図 5 に示すように、Turbo-Links 5 には、最初とその後のページ読み込み時に発生する Turbolinks:load イベントが含まれています。これにより、ソリューションが簡素化されます。

$(document).on('turbolinks:load', function() {
  # Add your JavaScript code here
});
ログイン後にコピー

このアプローチを実装すると、Turbo-Links を利用する Rails 4 アプリケーション内で jQuery イベントが期待どおりに実行されます。

以上がRails 4 と Turbo-Links で jQuery の「ready」イベントの失敗を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート