Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menghantar Argumen kepada Fungsi Pendengar `addEventListener` dalam JavaScript?

Bagaimanakah Saya Boleh Menghantar Argumen kepada Fungsi Pendengar `addEventListener` dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-12-21 14:08:09841semak imbas

How Can I Pass Arguments to an `addEventListener` Listener Function in 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!

Kenyataan:
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