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

如何在 JavaScript 中將參數傳遞給事件偵聽器函數?

Patricia Arquette
Patricia Arquette原創
2024-12-14 11:16:10187瀏覽

How Can I Pass Arguments to an Event Listener Function in JavaScript?

將參數傳遞給事件監聽器函數

考慮以下場景:

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

這裡的問題是someVar 在監聽器函數中無法訪問addEventListener 的。它被視為新的局部變數。

解決方案:利用事件目標的屬性

不要嘗試從偵聽器函數外部存取變量,而是直接從事件目標的屬性檢索參數。

對於instance:

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

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

HTML:

<button class="input">Show parameter</button>

此方法可確保將必要的資訊封裝在事件物件中,以便在呼叫偵聽器函數時可以存取它。

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

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