[英]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.