Maison > interface Web > js tutoriel > Comment réparer l'échec de l'événement « prêt » de jQuery avec Rails 4 et Turbo-Links ?

Comment réparer l'échec de l'événement « prêt » de jQuery avec Rails 4 et Turbo-Links ?

Patricia Arquette
Libérer: 2024-12-12 17:38:11
original
129 Les gens l'ont consulté

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

Gestion des événements DOM dans Rails 4 avec Turbo-Links

L'événement « Prêt » de jQuery ne se déclenche pas après le chargement initial de la page ?

Pour les applications Rails 4 Lors de la mise en œuvre du pipeline d'actifs, la nécessité de gérer l'organisation JS se fait sentir. Les utilisateurs peuvent rencontrer des problèmes où l'événement ready de jQuery ne se déclenche pas lors des clics de lien ultérieurs en raison des Turbo-Links.

Comprendre l'impact des Turbo-Links

Turbo-Links améliore la navigation en effectuant des transitions de page sans recharge. Cette optimisation empêche l'événement ready de se déclencher après le chargement de la première page, car les clics sur les liens suivants ne font que mettre à jour le contenu de la page.

Résoudre le problème

Pour garantir que les événements jQuery fonctionnent de manière transparente avec Turbo-Links, l'approche suivante est recommandée :

Version CoffeeScript

ready = ->
  # Place your CoffeeScript code here
$(document).ready(ready)
$(document).on('page:load', ready)
Copier après la connexion

L'événement 'page:load' est déclenché par Turbo-Links et fournit un substitut fiable à l'événement ready.

Version JavaScript

var ready;
ready = function() {
  # Insert your JavaScript code here
};
$(document).ready(ready);
$(document).on('page:load', ready);
Copier après la connexion

Mise à jour de Rails 5

Pour Rails 5, Turbo-Links 5 inclut un turbolinks : événement de chargement qui se déclenche lors des chargements de page initial et ultérieurs. Cela simplifie la solution :

$(document).on('turbolinks:load', function() {
  # Add your JavaScript code here
});
Copier après la connexion

En implémentant cette approche, les événements jQuery s'exécuteront comme prévu dans les applications Rails 4 utilisant Turbo-Links.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal