首頁 >web前端 >js教程 >如何將參數傳遞給 JavaScript 事件監聽器?

如何將參數傳遞給 JavaScript 事件監聽器?

Barbara Streisand
Barbara Streisand原創
2024-12-14 06:02:11298瀏覽

How Can I Pass Arguments to JavaScript Event Listeners?

將參數傳遞給EventListener 偵聽器函數

在需要在addEventListener 呼叫中將參數傳遞給偵聽器函數的情況下偵聽器函數的情況下,參數的值可能無法在偵聽器內存取。這是因為函數在偵聽器範圍內被視為新變數。

解決方案:利用目標屬性

要解決此問題,請考慮使用目標屬性來偵聽器函數中的事件物件。透過在事件目標上設定自訂屬性,您可以在偵聽器中存取所需的參數。

範例:

考慮一個HTML 按鈕和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}`);
});

在此範例中,按一下按鈕時,myParam 屬性的值為從事件目標檢索並顯示在警報中。這種方法允許您有效地將參數傳遞給偵聽器函數並在偵聽器的範圍內存取它們。

以上是如何將參數傳遞給 JavaScript 事件監聽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn