javascript - 如何识别事件并将其作为参数传递给 JS 中的回调函数?
问题描述
我做了几次测试并在网上搜索,但找不到解决方案。
我在下面有以下代码,它会产生 4 个超时事件。
for (let w=1; w<=4; w++) {
var eventname = "event"+w;
this[eventname] = setTimeout(DoStuff(this), 1000);
}
function DoStuff (myref) {
console.log(myref)
}
我需要一种将 4 个事件中的哪个事件调用它的引用传递给回调函数的方法。
任何想法?
解决方案
函数中的第三个和所有后续参数setInterval
可用于传递参数。
因此,在您的情况下,将eventname
引用传递给参数setTimeout
之后delay
,并且只引用该DoStuff
函数而不调用它。
for (let w=1; w<=4; w++) {
var eventname = "event"+w;
this[eventname] = setTimeout(DoStuff, 1000, eventname);
}