Maison > interface Web > js tutoriel > Comment puis-je déclencher de manière fiable des événements jQuery avec Rails 4 et Turbo-Links ?

Comment puis-je déclencher de manière fiable des événements jQuery avec Rails 4 et Turbo-Links ?

DDD
Libérer: 2024-12-10 17:02:09
original
468 Les gens l'ont consulté

How Can I Reliably Trigger jQuery Events with Rails 4 and Turbo-Links?

Exploiter les événements jQuery dans Rails 4 avec Turbo-Links

Les développeurs Rails 4 sont souvent confrontés au dilemme de l'organisation des fichiers JavaScript tout en utilisant des Turbo-Links . Généralement, l'événement « ready » de jQuery est utilisé pour déclencher l'exécution de JavaScript lors du chargement de la page. Cependant, lorsque Turbo-Links est activé, cet événement ne se déclenche pas lors des transitions de page suivantes.

Pour résoudre ce problème, il est crucial de comprendre le fonctionnement de Turbo-Links. Contrairement aux rechargements de pages traditionnels, Turbo-Links permet des transitions de page transparentes sans charger complètement la nouvelle page. En conséquence, l'événement "ready" de jQuery, qui est lié au processus de chargement initial du DOM, ne se déclenche plus après le chargement de la première page.

Heureusement, Turbo-Links propose une solution. Il diffuse un événement « page:load » chaque fois qu'une nouvelle page est transitionnée. Cet événement peut être utilisé pour imiter le comportement de l'événement "ready" de jQuery et garantir la bonne exécution du code JavaScript.

Dans CoffeeScript, cela peut être réalisé comme suit :

ready = ->

  # JavaScript code

$(document).ready(ready)
$(document).on('page:load', ready)
Copier après la connexion

Dans Vanilla JavaScript, le code équivalent serait :

var ready;
ready = function() {

  # JavaScript code

};

$(document).ready(ready);
$(document).on('page:load', ready);
Copier après la connexion

Avec Rails 5 et Turbolinks 5, l'événement "page:load" a été remplacé par "turbolinks : charger." Dans ce cas, le code JavaScript peut être simplifié comme suit :

$(document).on('turbolinks:load', function() {

  # JavaScript code

});
Copier après la connexion

En utilisant ces techniques, les développeurs Rails 4 peuvent garantir que les événements jQuery fonctionnent de manière fiable même avec les Turbo-Links activés, permettant ainsi un utilisateur transparent et réactif. expérience.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal