Rails 4 : Amélioration des fonctionnalités d'événements jQuery avec des Turbo-Links
Lors de l'organisation de fichiers JavaScript dans une application Rails 4, il n'est pas rare de rencontrer problèmes avec l'événement "ready" de jQuery. Avec les liens turbo activés, cet événement ne se déclenche pas lors des clics suivants, laissant les gestionnaires d'événements dans ready(function($) {} inactifs.
Pour relever ce défi, une solution consiste à implémenter un écouteur ou un écouteur spécifique à Rails. tirer parti des propres mécanismes de Rails pour garantir la fonctionnalité des événements.
Une approche efficace consiste à définir une fonction dans CoffeeScript ou JavaScript :
ready = -> ...your coffeescript goes here... $(document).ready(ready) $(document).on('page:load', ready)
Cette approche utilise l'événement page:load, que turbo-links déclenche après le chargement de la page.
Pour les applications Rails 5 (utilisant Turbolinks 5), l'événement page:load a été remplacé par turbolinks:load, qui se déclenche sur la page initiale charger également. Par conséquent, l'écouteur d'événement suivant suffit :
$(document).on('turbolinks:load', function() { ...your javascript goes here... });
En implémentant cette approche, la fonctionnalité d'événement jQuery peut être intégrée de manière transparente aux turbo-liens, garantissant que l'événement gestion des chargements de pages initiaux et ultérieurs.
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!