Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menyalurkan Argumen kepada Fungsi addEventListener?

Bagaimanakah Saya Boleh Menyalurkan Argumen kepada Fungsi addEventListener?

Susan Sarandon
Lepaskan: 2024-12-11 20:10:11
asal
304 orang telah melayarinya

How Can I Pass Arguments to an addEventListener Function?

Cara Meluluskan Argumen ke addEventListener Listener Functions

Dalam senario di mana kita ingin menyampaikan hujah kepada fungsi pendengar acara, kita mungkin menghadapi situasi di mana hujah itu tidak boleh diakses dalam fungsi. Ini boleh berlaku apabila kita menetapkan pembolehubah kepada fungsi, seperti ini:

var someVar = some_other_function();
someObj.addEventListener("click", function(){
    some_function(someVar);
}, false);
Salin selepas log masuk

Di sini, isunya ialah nilai someVar tidak tersedia dalam fungsi pendengar acara.

A Pendekatan Lebih Baik: Menggunakan Parameter Sasaran Acara

Untuk menyelesaikan masalah ini, kami boleh memanfaatkan atribut sasaran objek acara untuk mendapatkan semula parameter yang diluluskan kepada fungsi pendengar. Pertimbangkan contoh ini:

const someInput = document.querySelector('button');
someInput.addEventListener('click', myFunc, false);
someInput.myParam = 'This is my parameter';

function myFunc(evt)
{
    window.alert(evt.currentTarget.myParam);
}
Salin selepas log masuk

Dalam kod yang diubah suai ini:

  • Kami menetapkan parameter kami ('Ini ialah parameter saya') kepada sifat myParam bagi elemen input.
  • Fungsi myFunc kami ditakrifkan di luar skop pendengar acara.
  • Apabila elemen input diklik, fungsi myFunc digunakan.
  • Dalam fungsi myFunc, kami boleh mengakses parameter kami melalui evt.currentTarget.myParam.

Pendekatan ini dengan berkesan membolehkan kami menyampaikan hujah kepada kami fungsi pendengar acara tanpa menghadapi isu asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalurkan Argumen kepada Fungsi addEventListener?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan