Heim >Web-Frontend >js-Tutorial >Wie kann ich jQuery-Ereignisse mit Rails 4 und Turbo-Links zuverlässig auslösen?

Wie kann ich jQuery-Ereignisse mit Rails 4 und Turbo-Links zuverlässig auslösen?

DDD
DDDOriginal
2024-12-10 17:02:09469Durchsuche

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

JQuery-Ereignisse in Rails 4 mit Turbo-Links nutzen

Rails 4-Entwickler stehen häufig vor dem Dilemma, JavaScript-Dateien zu organisieren und gleichzeitig Turbo-Links zu verwenden . Normalerweise wird das „ready“-Ereignis von jQuery verwendet, um die Ausführung von JavaScript beim Laden der Seite auszulösen. Wenn Turbo-Links aktiviert sind, wird dieses Ereignis jedoch bei nachfolgenden Seitenübergängen nicht ausgelöst.

Um dieses Problem zu beheben, ist es wichtig zu verstehen, wie Turbo-Links funktioniert. Im Gegensatz zum herkömmlichen Neuladen von Seiten ermöglicht Turbo-Links nahtlose Seitenübergänge, ohne dass die neue Seite vollständig geladen werden muss. Dadurch wird das „ready“-Ereignis von jQuery, das an den anfänglichen Ladevorgang des DOM gebunden ist, nach dem Laden der ersten Seite nicht mehr ausgelöst.

Glücklicherweise bietet Turbo-Links eine Lösung. Es sendet ein „page:load“-Ereignis, wann immer zu einer neuen Seite gewechselt wird. Dieses Ereignis kann verwendet werden, um das Verhalten des „ready“-Ereignisses von jQuery nachzuahmen und die ordnungsgemäße Ausführung von JavaScript-Code sicherzustellen.

In CoffeeScript kann dies wie folgt erreicht werden:

ready = ->

  # JavaScript code

$(document).ready(ready)
$(document).on('page:load', ready)

In Vanilla JavaScript, der entsprechende Code wäre:

var ready;
ready = function() {

  # JavaScript code

};

$(document).ready(ready);
$(document).on('page:load', ready);

Bei Rails 5 und Turbolinks 5 wurde das „page:load“-Ereignis durch ersetzt „turbolinks:laden.“ In diesem Fall kann der JavaScript-Code wie folgt vereinfacht werden:

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

  # JavaScript code

});

Durch die Verwendung dieser Techniken können Rails 4-Entwickler sicherstellen, dass jQuery-Ereignisse auch bei aktivierten Turbo-Links zuverlässig funktionieren, was einen nahtlosen und reaktionsschnellen Benutzer ermöglicht Erfahrung.

Das obige ist der detaillierte Inhalt vonWie kann ich jQuery-Ereignisse mit Rails 4 und Turbo-Links zuverlässig auslösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn