jQuery ialah perpustakaan JavaScript yang sangat popular yang digunakan secara meluas dalam pembangunan web. Semasa proses pembangunan, kami sering menghadapi keperluan untuk memanggil kaedah dalam halaman anak dalam halaman induk atau kaedah panggilan dalam halaman induk dalam halaman anak. Dalam artikel ini, kami akan meneroka cara untuk melaksanakan ciri ini dalam jQuery.
Untuk memanggil kaedah dalam halaman induk dalam halaman anak, kita perlu menggunakan objek induk. Objek induk menunjuk ke tetingkap induk yang mengandungi tetingkap semasa. Dalam jQuery, anda boleh menggunakan parent.$() untuk mendapatkan objek jQuery dalam tetingkap induk, dan kemudian memanggil kaedah dalam tetingkap induk.
Contohnya, katakan kaedah bernama showMessage ditakrifkan dalam halaman induk:
function showMessage(){ alert('Hello World!'); }
Bagaimana untuk memanggil kaedah ini dalam halaman anak? Kodnya adalah seperti berikut:
parent.$().showMessage();
Induk.$() di sini memperoleh objek jQuery dalam tetingkap induk, dan kemudian memanggil kaedah showMessage dalam tetingkap induk. Perlu diingatkan bahawa jika kaedah dalam halaman induk perlu menerima parameter, parameter yang sepadan juga perlu diluluskan semasa membuat panggilan.
Untuk memanggil kaedah dalam halaman anak dalam halaman induk, kita perlu menggunakan objek iframe. Objek iframe menghala ke subhalaman yang terkandung dalam halaman semasa. Dalam jQuery, anda boleh menggunakan $('iframe') untuk mendapatkan objek jQuery dalam tetingkap kanak-kanak, dan kemudian panggil kaedah dalam tetingkap kanak-kanak.
Contohnya, katakan kaedah bernama showMessage ditakrifkan dalam halaman anak:
function showMessage(){ alert('Hello World!'); }
Bagaimana untuk memanggil kaedah ini dalam halaman induk? Kodnya adalah seperti berikut:
$('iframe')[0].contentWindow.showMessage();
$('iframe') di sini mendapat objek jQuery dalam sub-tetingkap, kemudian mendapat elemen iframe pertama melalui [0], dan kemudian mendapat tetingkap sub -window melalui ContentWindow Object, dan akhirnya panggil kaedah showMessage dalam tetingkap. Perlu diingatkan bahawa jika kaedah dalam subhalaman perlu menerima parameter, parameter yang sepadan juga perlu diluluskan semasa membuat panggilan.
Selain menggunakan kaedah di atas, anda juga boleh menggunakan API postMessage untuk melaksanakan komunikasi antara halaman induk dan halaman anak, tetapi ini adalah topik lain dan tidak akan dibincangkan di sini.
Ringkasan
Di atas ialah cara melaksanakan kaedah halaman induk memanggil halaman anak atau halaman anak memanggil halaman induk dalam jQuery. Perlu diingat bahawa apabila mengakses merentas domain, protokol atau port, mungkin terdapat beberapa sekatan dan tetapan yang sepadan perlu dibuat. Pada masa yang sama, untuk memastikan kebolehselenggaraan dan kebolehbacaan kod, adalah disyorkan untuk memberikan setiap kaedah nama yang bermakna semasa menulis kod dan elakkan menggunakan fungsi tanpa nama sebanyak mungkin.
Atas ialah kandungan terperinci kaedah halaman induk jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!