在 addEventListener 中传递函数中的变量 [重复]
Posted
技术标签:
【中文标题】在 addEventListener 中传递函数中的变量 [重复]【英文标题】:Pass a Variable in Function in an addEventListener [duplicate] 【发布时间】:2018-12-14 17:39:03 【问题描述】:如何在函数previewImages
上传递一个变量?
document.querySelector('#file-input0').addEventListener("change", previewImages,false);
document.querySelector('#file-input1').addEventListener("change", previewImages,false);
我希望这个脚本调用函数:
function previewImages(i)
var preview = document.getElementById("preview"+i);
if (this.files)
[].forEach.call(this.files, readAndPreview);
每次我尝试这个时,我都无法传递变量值。我想用纯 javascript 实现这个。
【问题讨论】:
你的意思是把变量值传递给document.querySelector...
吗?
没有。我的意思是像在 document.querySelector... 中设置一个变量并将其传递给函数 previewImages()
【参考方案1】:
您可以直接将函数声明为处理程序,并从其内部调用函数previewImages
。
document.querySelector('#file-input0').addEventListener("change", function()
previewImages(0);
, false);
document.querySelector('#file-input1').addEventListener("change", function()
previewImages(1);
, false);
【讨论】:
@ErlV 你能解释一下,为什么这不起作用? 它工作。我尝试在警报中显示该值,它确实传递了该值。非常感谢。以上是关于在 addEventListener 中传递函数中的变量 [重复]的主要内容,如果未能解决你的问题,请参考以下文章