考慮以下場景:
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中文網其他相關文章!