如何将局部变量值从函数传递到addeventListener函数?
这是例如代码(JavaScript),
function f(){
var x = new Audio('Audio URL')
var divID = document.getElementById('id of a div');
if(divID){
divID.addEventListener("webkitAnimationEnd",g);
divID.addEventListener("animationend",g);
}
}
function g(){
//Code that uses variable x value and functions i.e x.pause() or x.play()
}
如何将函数中的变量x值传递给addeventListener中的函数g()?
您可以尝试以下操作:
function f(){
var x = new Audio('Audio URL')
var divID = document.getElementById('id of a div');
if(divID){
divID.addEventListener(webkitAnimationEnd, () => g(x));
divID.addEventListener(animationend, () => g(x));
}
}
function g(x){
//Code that uses variable x value and functions i.e x.pause() or x.play()
}
或,如果您想要ES5支持,则divID.addEventListener(webkitAnimationEnd, function() { g(x); });
可能会在封闭中进行此操作:
function f(){
var x = new Audio('Audio URL')
var divID = document.getElementById('id of a div');
if(divID){
divID.addEventListener(webkitAnimationEnd, makeG(x));
divID.addEventListener(animationend, makeG(x));
}
}
function makeG(x) {
return function() {
//Code that uses variable x value and functions i.e x.pause() or x.play()
}
}