我想知道当我想在我的元素上添加一个事件时是否需要创建一个forEach循环?
我的代码包含很多这样的循环:
const $itemUpload = document.querySelectorAll('.js-file-upload'); // ~ 10 elements in my page
// Image preview before upload
[...$itemUpload].forEach((item) => {
const $parent = item.closest('.js-upload-container');
item.addEventListener('change', function() {
const options = [
this.parentNode.querySelector('.js-file-image'),
this.files[0],
this.parentNode.querySelector('.js-file-wording'),
];
const upload = new Upload(...options);
const $buttonClear = this.parentNode.querySelector('.js-remove-file');
upload.previewFile();
$parent.classList.add(activeClass);
});
});
与删除按钮的处理方式相同(forEach在.js-remove-file上进行抢劫。
我想知道这是否正确。当我的页面加载时,它会为可能无法创建的事件执行多个循环(单击以删除购物车中的项目,显示在所有页面上)。
你有什么建议吗?
谢谢社区!