Apabila menulis kod jQuery, fungsi panggil balik adalah kaedah pengaturcaraan yang sangat biasa. Fungsi panggil balik dipanggil secara automatik dalam keadaan tertentu Kaedah ini sangat sesuai untuk mengendalikan permintaan tak segerak dan tindak balas acara. Dalam artikel ini, kami akan meneroka secara terperinci cara memanggil fungsi panggil balik jQuery.
1. Apakah fungsi panggil balik?
Fungsi panggil balik merujuk kepada fungsi yang dihantar ke fungsi lain (iaitu, fungsi induk Fungsi yang diluluskan boleh dilaksanakan secara serentak atau tidak segerak).
Dalam JavaScript, fungsi panggil balik sering digunakan dalam senario seperti permintaan tak segerak dan pemprosesan acara. Apabila acara atau panggilan tak segerak selesai, hasilnya dikembalikan kepada pengguna melalui fungsi panggil balik.
2. Penggunaan asas fungsi panggil balik jQuery
Dalam jQuery, fungsi panggil balik boleh dihantar sebagai parameter kepada kaedah yang berbeza. Sebagai contoh, apabila kami menggunakan jQuery untuk memulakan permintaan Ajax, kami boleh menghantar fungsi panggil balik sebagai parameter kepada permintaan Apabila permintaan selesai, fungsi panggil balik akan dipanggil secara automatik.
Sebagai contoh, berikut ialah contoh permintaan $.get() yang mudah, yang melaluinya anda boleh melihat dengan jelas bahawa fungsi panggil balik diluluskan sebagai parameter kepada kaedah $.get.
$.get('http://url.com', function(data) { console.log(data); });
Dalam contoh di atas, apabila permintaan $.get selesai, fungsi panggil balik permintaan akan dipanggil dan data yang diperoleh akan dihantar ke fungsi panggil balik sebagai parameter.
3. Gunakan objek Tertunda untuk melaksanakan fungsi panggil balik
Selain definisi fungsi panggil balik yang mudah, jQuery juga menyediakan alat yang berkuasa, objek Tertunda, yang boleh mengendalikan permintaan tak segerak dan panggil balik fungsi.
Kami menganggap objek Tertunda jQuery sebagai lapisan enkapsulasi fungsi panggil balik untuk mencapai kawalan yang lebih fleksibel dan skalabiliti yang lebih besar. Berikut ialah contoh objek Tertunda yang mudah:
var deferred = $.Deferred(); $.get('http://url.com').done(function(data) { deferred.resolve(data); }).fail(function() { deferred.reject(); }); deferred.promise().done(function(data) { console.log(data); });
Dalam contoh di atas, objek Tertunda pertama kali dibuat, dan kemudian dua fungsi panggil balik dilakukan (berjaya) dan gagal (gagal) didaftarkan pada objek ini .
Apabila permintaan berjaya, gunakan fungsi resolve() untuk mengembalikan hasil kepada objek tertunda Jika gagal, panggil fungsi reject().
Akhir sekali, dapatkan objek janji permintaan ajax melalui fungsi promise() dan kembalikan hasilnya kepada pengguna melalui fungsi done().
Selain done() dan fail(), Jquery menyediakan beberapa fungsi panggil balik objek Promise yang lain:
Perkara di atas ialah perkara utama, ingat untuk menggunakan secara fleksibel dan menggabungkan kaedah pengekodan dengan adegan tertentu.
4 Cara lain untuk memanggil fungsi panggil balik - acara
Cara lain untuk memanggil fungsi panggil balik adalah melalui acara. Kami boleh mencetuskan acara secara manual dalam kod dan lulus fungsi panggil balik sebagai pengendali acara kepada acara tersebut.
Sebagai contoh, berikut ialah contoh acara klik mudah:
$('button').on('click', function() { console.log('Button was clicked!'); });
Dalam contoh di atas, apabila pengguna mengklik butang, acara klik akan dicetuskan dan fungsi panggil balik acara akan mengeluarkan Mesej bahawa butang telah diklik.
5. Ringkasan
Fungsi dan acara panggil balik ialah kaedah pengaturcaraan yang sangat biasa dalam jQuery dan digunakan secara meluas dalam kod. Fungsi panggil balik boleh dipanggil dengan menghantar parameter, menggunakan objek dan peristiwa Tertunda, dan mempunyai ciri-ciri fleksibiliti tinggi dan skalabiliti yang kuat.
Apabila menulis kod jQuery, memahami penggunaan asas fungsi panggil balik dan penggunaan objek Tertunda boleh meningkatkan kecekapan pengaturcaraan dan kualiti kod kami.
Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi panggil balik dalam jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!