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
Patricia Arquetteoriginal
2024-12-12 17:38:11131parcourir

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)

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);

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
});

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!

Déclaration:
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