Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Memastikan Acara jQuery berfungsi dengan betul dengan Rails 4 dan Pautan Turbo?

Bagaimanakah Saya Boleh Memastikan Acara jQuery berfungsi dengan betul dengan Rails 4 dan Pautan Turbo?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 18:46:18805semak imbas

How Can I Ensure jQuery Events Work Correctly with Rails 4 and Turbo Links?

Rails 4: Mempertingkatkan Fungsi Acara jQuery dengan Turbo-Links

Apabila menyusun fail JavaScript dalam aplikasi Rails 4, ia adalah perkara yang jarang ditemui masalah dengan acara "bersedia" jQuery. Dengan pautan turbo didayakan, acara ini gagal melancarkan klik berikutnya, menjadikan pengendali acara dalam keadaan ready(function($) {} tidak aktif.

Untuk menangani cabaran ini, penyelesaian melibatkan pelaksanaan pendengar khusus Rails atau memanfaatkan mekanisme Rails sendiri untuk memastikan kefungsian acara.

Satu pendekatan yang berkesan ialah mentakrifkan fungsi dalam CoffeeScript atau JavaScript:

ready = ->
  ...your coffeescript goes here...

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

Pendekatan ini menggunakan acara page:load, yang pautan turbo dicetuskan selepas pemuatan halaman.

Untuk aplikasi Rails 5 (menggunakan Turbolinks 5), acara page:load telah digantikan dengan turbolinks:load, yang menyala pada pemuatan halaman awal juga memadai:

$(document).on('turbolinks:load', function() {
  ...your javascript goes here...
});

Dengan melaksanakan pendekatan ini, kefungsian acara jQuery boleh disepadukan dengan lancar dengan pautan turbo, memastikan pengendalian acara pada pemuatan halaman awal dan seterusnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Acara jQuery berfungsi dengan betul dengan Rails 4 dan Pautan Turbo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn