Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menghantar Argumen kepada Fungsi Pendengar `addEventListener` dalam JavaScript?
Melalukan Argumen kepada Fungsi Pendengar addEventListener
Dalam senario tertentu, anda mungkin perlu menghantar hujah kepada fungsi pendengar addEventListener. Coretan kod berikut menyerlahkan situasi biasa di mana ini mungkin diperlukan:
var someVar = some_other_function(); someObj.addEventListener("click", function() { some_function(someVar); }, false);
Dalam keadaan ini, someVar ditakrifkan di luar fungsi pendengar tetapi bertujuan untuk digunakan di dalamnya. Walau bagaimanapun, disebabkan oleh peraturan skop JavaScript, someVar mungkin dikenali sebagai pembolehubah baharu di dalam fungsi pendengar.
Penyelesaian: Mendapatkan Kembali Argumen daripada Sasaran Acara
Daripada mencuba untuk hantar hujah terus kepada fungsi pendengar, pertimbangkan untuk mendapatkannya daripada atribut event.target. Pendekatan ini melibatkan penambahan sifat tersuai pada sasaran acara.
const someInput = document.querySelector('button'); someInput.addEventListener('click', myFunc, false); someInput.myParam = 'This is my parameter'; function myFunc(evt) { window.alert(evt.currentTarget.myParam); }
Dalam contoh ini, elemen butang diberikan fungsi pendengar acara yang dipanggil myFunc. Sifat tersuai, myParam, ditambahkan pada butang dan ditetapkan kepada nilai tertentu ('Ini adalah parameter saya').
Apabila butang diklik, fungsi myFunc dilaksanakan dengan objek acara sebagai parameter . Dengan mengakses sifat event.currentTarget dan kemudian sifat myParam tersuai, nilai ('Ini adalah parameter saya') boleh diambil dan dipaparkan.
Teknik ini membenarkan penghantaran argumen kepada fungsi pendengar acara dalam cara yang lebih mudah dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Argumen kepada Fungsi Pendengar `addEventListener` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!