光年模板(V5)说明文档
主题
字号
18px

webuploader使用时候的问题

webuploader 在实际使用过程中最大的一个问题,是当上传按钮处在一个隐藏元素当中(例如:模态框),这个时候上传按钮不可用。

导致这个问题的原因是:js无法获取到一个隐藏元素的宽度和高度,导致生成的按钮没有宽高,无法覆盖到原有按钮上。

处理方式是在显示元素之后后再初始化 webuploader,下面以模态框举例:

//打开模态框-初始化图片插件
$('#testModal').on('shown.bs.modal', function () {
    initWebuploader(); // 这里假设初始化的方法为initWebuploader
});

当你关闭模态框的时候,还需要销毁webuploader。

//关闭模态框-销毁对象
$('#testModal').on('hidden.bs.modal', function () {
    if (typeof (uploader) != "undefined") {
        for(var i=0; i<uploader.getFiles().length; i++) {
          uploader.removeFile(uploader.getFiles()[i]);
        }
        uploader.reset();
        uploader.destroy();
    }
});