簡體   English   中英

將參數傳遞給回調函數

[英]Pass arguments to a callback function

默認情況下,我無法將參數傳遞給回調函數

 function callback() { alert('Hi human'); } var x = 1, y = 2;//Pass arguments(x,y) to a callback function document.getElementById('someelem').addEventListener('click', callback); 
 <button id="someelem">Ok</button> 

document.getElementById('someelem').addEventListener('click', function(event) {
    callback(x, y, e);
});

另一種方法是綁定功能

document.getElementById('someelem').addEventListener('click', callback.bind(null, x, y));

您可以將其創建為匿名函數,如下所示:

var x = 1, y = 2;//Pass arguments(x,y) to a callback function

document.getElementById('someelem').addEventListener('click', function(x, y) {
   alert('Hi human');
});

您可以使用bind來解決此問題。

 function callback(x, y) { console.log(this,x,y); } var x = 1, y = 2; //Pass arguments(x,y) to a callback function var el = document.getElementById('someelem'); el.addEventListener('click', callback.bind(el, x, y)); 
 <button id="someelem">OK</button> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM