[英]Triggered removeEventLister if addEventListener has been triggered once
i want my event to be deleted if a file already been uploaded.如果文件已上传,我希望删除我的活动。 In other words, i want only one attachment to be added.换句话说,我只想添加一个附件。 But my 'active' variable is never equal to 'false'但我的“活动”变量永远不等于“假”
const form = document.querySelector("form"),
fileInput = document.querySelector(".file-input"),
progressArea = document.querySelector(".progress-area"),
uploadedArea = document.querySelector(".uploaded-area"),
clickedItem = document.querySelector(".clickkk");
let active = true;
if (active) {
clickedItem.addEventListener("click", () => {
fileInput.click();
});
} else {
clickedItem.removeEventListener("click", () => {
fileInput.click();
});
}
fileInput.onchange = ({ target }) => {
let file = target.files[0];
if (file) {
let fileName = file.name;
if (fileName.length >= 12) {
let splitName = fileName.split('.');
fileName = splitName[0].substring(0, 13) + "... ." + splitName[1];
}
uploadFile(fileName);
active = false;
}
}```
I suggest use local storage (you can use cookies and session storage too).我建议使用本地存储(您也可以使用 cookies 和 session 存储)。
localStorage.setItem('active', 'true');
let active = JSON.parse(localStorage.getItem('active'));
if (active) {
clickedItem.addEventListener("click", () => {
fileInput.click();
});
} else {
clickedItem.removeEventListener("click", () => {
fileInput.click();
});
}
and inside fileInput set this:并在 fileInput 内部设置:
localStorage.setItem('active', 'false');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.