2017-09-20 81 views
0

在JavaScript中,當我使用的addEventListener,我想調用外部梅索德並把它傳遞事件ARG:的JavaScript的addEventListener:傳遞參數給外部事件處理程序

var secondParam= "titi"; 
element.addEventListener("keydown", handleEventFunc(event, secondParam)); 
    ... 
handleEventFunc: function (eventArg, secondParam) { 
    var key = event.keyCode; 
    var toto = secondParam; 
    //do things 
} 

請將我用合作當量關閉:

var secondParam= "titi"; 
element.addEventListener("keydown", function (event) { 
     var key = event.keyCode; 
     var toto = secondParam; 
     //do things 
} 

你知道該怎麼做?

+0

這不是** **你誰應該**調用**函數。這是事件發生時的瀏覽器。因此你必須給瀏覽器一個函數來調用。 –

回答

1

出現這種情況自動的,如果你只是參考功能而不是調用它,因爲任何參數將被調用上下文傳遞,在這種情況下,事件處理程序

element.addEventListener("keydown", obj.handleEventFunc); 

var obj = { 
    handleEventFunc: function (event) { // tada, now works 
     var key = event.keyCode; // keep the names the same 
     //do things 
    } 
} 
相關問題