Heim >Web-Frontend >js-Tutorial >Wie kann ich sicherstellen, dass jQuery-Ereignisse ordnungsgemäß mit Rails 4 und Turbo-Links funktionieren?
Rails 4: Erweiterung der jQuery-Ereignisfunktionen mit Turbo-Links
Beim Organisieren von JavaScript-Dateien in einer Rails 4-Anwendung ist dies nicht ungewöhnlich Probleme mit dem „ready“-Ereignis von jQuery. Wenn Turbo-Links aktiviert sind, wird dieses Ereignis bei nachfolgenden Klicks nicht ausgelöst, sodass die Ereignishandler in ready(function($) {} inaktiv bleiben.
Um dieser Herausforderung zu begegnen, umfasst eine Lösung die Implementierung eines Rails-spezifischen Listeners oder Nutzung der Rails-eigenen Mechanismen, um die Ereignisfunktionalität sicherzustellen.
Ein effektiver Ansatz besteht darin, eine Funktion in CoffeeScript oder JavaScript zu definieren:
ready = -> ...your coffeescript goes here... $(document).ready(ready) $(document).on('page:load', ready)
Dieser Ansatz verwendet das page:load-Ereignis, das Turbo-Links nach dem Laden der Seite auslöst.
Für Rails 5-Anwendungen (mit Turbolinks 5) wurde das page:load-Ereignis durch turbolinks:load ersetzt, das auf der ersten Seite ausgelöst wird laden. Daher reicht der folgende Ereignis-Listener aus:
$(document).on('turbolinks:load', function() { ...your javascript goes here... });
Durch die Implementierung dieses Ansatzes kann die jQuery-Ereignisfunktionalität nahtlos in Turbo-Links integriert werden, wodurch die Ereignisbehandlung gewährleistet ist Sowohl das erste als auch das nachfolgende Laden der Seite.
Das obige ist der detaillierte Inhalt vonWie kann ich sicherstellen, dass jQuery-Ereignisse ordnungsgemäß mit Rails 4 und Turbo-Links funktionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!