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.
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.
Pour garantir que les événements jQuery fonctionnent de manière transparente avec Turbo-Links, l'approche suivante est recommandée :
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.
var ready; ready = function() { # Insert your JavaScript code here }; $(document).ready(ready); $(document).on('page:load', ready);
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!