Materialboxed不适用于数据:image / png; BASE64

时间:2017-11-13 13:19:51

标签: javascript jquery materialize

我正在使用materializecss v0.100.1,我在课程中遇到问题' materialboxed'。我正在加载来自"输入文件的图像"到一个文件数组,然后我带着数组$.each走,然后我把它添加到一个带有类'集合'的div中。

我可以将图像可视化,但是当我点击图像时,“材料盒”会被显示出来。上课不起作用。我已经用$('.materialboxed').materialbox()对其进行了初始化。我需要点击要在整个屏幕上显示的缩略图。谢谢。

$('#collection').empty();
$.each(files, function(k, v) {
  var reader = new FileReader();
  reader.onload = (function(theFile) {
    return function(e) {
      var algo = "<li class=\"collection-item avatar\"><img src=\"" + e.target.result + "\" alt=\"imagen\" class=\"circle\"/><span class=\"title truncate\">" + theFile.name + "</span><p>" + typeOfFile(theFile.type) + "<br/>" + (bytesToSize(theFile.size)) + "</p><a onclick=\"removeFile(" + theFile + ")\" class=\"secondary-content\"><i class=\"material-icons\">delete</i></a></li>";
      $('#collection').append(algo);
      $('#collection').find('img').addClass('materialboxed');
    };
  })(v);

  reader.readAsDataURL(v);

});

1 个答案:

答案 0 :(得分:0)

同样在努力解决此问题,问题在于,即使您在循环中的vcxproj之后调用$('.materialboxed').materialbox(),图像也尚未加载。为了强制此操作仅在图像加载后运行,我在reader.readAsDataURL(v);

之后添加了以下内容
reader.readAsDataURL(v);