將參數傳遞給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中文網其他相關文章!