关于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();
      }
  });
0 条评论