2013-04-17 62 views
0

我想通過.addEventListener方法將EventListener添加到按鈕。 下面是代碼:Javascript:將多個參數傳遞給EventListener和事件

myElement[i].addEventListener('click', buttonLink); 

這工作正常,並將其傳遞該事件作爲值的方法。下面是該方法頭:

function buttonLink(e) { 
    //Now i can access the srcElement via: 
    e.srcElement.id ... 
} 

的問題是,如果我將參數傳遞給該方法,它隱藏e參數,它是在該方法內完全不可見。 有沒有辦法將我自己的值和(!)事件傳遞給eventListener?

在此先感謝

回答

1

從內傳遞一個匿名函數來addEventListener和調用回調:

myElement[i].addEventListener('click', function (e) { 
    buttonLink(e, somethingElse, anotherThing); 
}); 
+0

感謝。這適用於我:-) – Freddy

+1

雖然這很好,但這不適用於removeEventListener,因爲您將無法刪除此匿名處理程序。 – chrisdotcode