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

Bagaimanakah Saya Boleh Menyalurkan Hujah kepada Pendengar Acara JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-14 06:02:11294semak imbas

How Can I Pass Arguments to JavaScript Event Listeners?

Melalukan Argumen kepada Fungsi Pendengar EventListener

Dalam senario di mana anda perlu menghantar argumen kepada fungsi pendengar dalam panggilan addEventListener, nilai argumen mungkin tidak boleh diakses dalam pendengar. Ini kerana fungsi itu dianggap sebagai pembolehubah baharu dalam skop pendengar.

Penyelesaian: Menggunakan Atribut sasaran

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan atribut sasaran objek acara dalam fungsi pendengar. Dengan menetapkan sifat tersuai pada sasaran acara, anda boleh mengakses hujah yang diingini dalam pendengar.

Contoh:

Pertimbangkan butang HTML dan pendengar acara JavaScript:

<button>
const myButton = document.getElementById('myButton');

// Set a custom property on the button target
myButton.myParam = 'This is my parameter';

// Add an event listener to the button
myButton.addEventListener('click', (event) => {
  // Retrieve the custom property from the event target
  const myParameter = event.currentTarget.myParam;

  // Do something with the parameter
  alert(`My parameter: ${myParameter}`);
});

Dalam contoh ini, apabila butang diklik, nilai sifat myParam diambil dari sasaran acara dan dipaparkan dalam amaran. Pendekatan ini membolehkan anda menyampaikan hujah kepada fungsi pendengar dengan berkesan dan mengaksesnya dalam skop pendengar.

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