Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyalurkan Hujah kepada Fungsi Pendengar Acara dalam JavaScript?

Bagaimanakah Saya Boleh Menyalurkan Hujah kepada Fungsi Pendengar Acara dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-19 00:23:10541semak imbas

How Can I Pass Arguments to Event Listener Functions in JavaScript?

Pendengar Acara: Menghantar Argumen kepada Fungsi Pendengar

Apabila melampirkan pendengar acara menggunakan kaedah addEventListener, mungkin terdapat situasi di mana anda perlu lulus hujah kepada fungsi pendengar. Satu senario sedemikian melibatkan mendapatkan semula nilai pembolehubah yang ditakrifkan di luar skop pendengar.

Senario dan Masalah

Pertimbangkan kod berikut:

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

Di sini, someVar ialah pembolehubah yang ditakrifkan di luar fungsi pendengar, dan kami berhasrat untuk menyampaikan nilainya sebagai hujah kepada some_function apabila peristiwa "klik" berlaku. Walau bagaimanapun, dalam fungsi pendengar, someVar dianggap sebagai pembolehubah baharu, mengakibatkan isu di mana nilai yang dimaksudkan tidak boleh diakses.

Penyelesaian Cadangan: Menggunakan Sifat Sasaran Acara

Daripada memberikan hujah secara eksplisit, pertimbangkan untuk mengakses sifat sasaran acara untuk mendapatkan maklumat yang diperlukan. Dalam contoh di atas, anda boleh melampirkan sifat tersuai myParam pada someObj, seperti yang ditunjukkan di bawah:

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

function myFunc(evt)
{
  window.alert(evt.currentTarget.myParam);
}

Kini, dalam fungsi pendengar myFunc, anda boleh mengakses nilai parameter dengan merujuk evt.currentTarget.myParam. Kaedah ini menghapuskan keperluan untuk meluluskan hujah secara eksplisit dan memastikan nilai yang betul diperoleh.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalurkan Hujah kepada Fungsi Pendengar Acara 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