Untuk aplikasi Rails 4 melaksanakan saluran paip aset, keperluan untuk mengurus organisasi JS timbul. Pengguna mungkin menghadapi masalah apabila acara sedia jQuery gagal dicetuskan pada klik pautan berikutnya disebabkan oleh Turbo-Links.
Turbo-Links meningkatkan navigasi dengan melakukan peralihan halaman tanpa penuh muat semula. Pengoptimuman ini menghalang acara sedia daripada menyala selepas halaman pertama dimuatkan, kerana pautan seterusnya mengklik hanya mengemas kini kandungan halaman.
Untuk memastikan acara jQuery berfungsi dengan lancar dengan Pautan Turbo, pendekatan berikut disyorkan:
ready = -> # Place your CoffeeScript code here $(document).ready(ready) $(document).on('page:load', ready)
Acara 'page:load' dicetuskan oleh Turbo-Links dan menyediakan pengganti yang boleh dipercayai untuk acara sedia.
var ready; ready = function() { # Insert your JavaScript code here }; $(document).ready(ready); $(document).on('page:load', ready);
Untuk Rails 5, Turbo-Links 5 menyertakan acara turbolinks:load yang menyala pada kedua-duanya pemuatan halaman awal dan seterusnya. Ini memudahkan penyelesaian:
$(document).on('turbolinks:load', function() { # Add your JavaScript code here });
Dengan melaksanakan pendekatan ini, acara jQuery akan dilaksanakan seperti yang diharapkan dalam aplikasi Rails 4 menggunakan Turbo-Links.
Atas ialah kandungan terperinci Bagaimana untuk Memperbaiki Kegagalan Acara `ready` jQuery dengan Rails 4 dan Turbo-Links?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!