this.data.upload = upload.render({ elem: '.fairy-sku-img', bindAction: '#id-upload-skus',+)多次实例化后,怎么让上传完毕后的回调只触发一次
时间: 2024-02-23 19:02:49 浏览: 75
可以使用事件委托的方式,将回调函数绑定到上传按钮的父元素上,然后在回调函数中判断上传按钮是否处于可点击状态,如果是则执行回调函数并将上传按钮设置为不可点击状态,避免重复触发回调函数。具体代码如下:
```javascript
// 绑定上传按钮的父元素
var uploadWrapper = document.querySelector('.fairy-sku-img-wrapper');
// 上传按钮是否处于可点击状态的标志
var isUploadClickable = true;
// 实例化上传组件
this.data.upload = upload.render({
elem: '.fairy-sku-img',
bindAction: '#id-upload-skus',
done: function(res) {
// 判断上传按钮是否处于可点击状态
if (isUploadClickable) {
// 执行回调函数
handleUploadCallback(res);
// 将上传按钮设置为不可点击状态
isUploadClickable = false;
}
}
});
// 回调函数
function handleUploadCallback(res) {
// TODO: 处理上传成功后的逻辑
}
```
这样,无论实例化多少个上传组件,上传成功后的回调函数都只会触发一次。
阅读全文