提问者:小点点

如何获得按钮点击事件上的图像?


我已经添加了动态图像div。 最后,我的完整div如下所示:

<div class ="main-wrapper">
    <div class = "inner">
        img src="data:image/jpeg....> 
    </div>
    <div class = "inner">
        img src="data:image/jpeg....> 
    </div>
    <div class = "inner">
        img src="data:image/jpeg....> 
    </div>
    <div class = "inner">
        img src="data:image/jpeg....> 
    </div>
</div>

现在,我需要获取图像,即只获取数据:image/jpeg.。。。

$("#main-wrapper").on('click', '.inner', function(e) {
    var data  = e.currentTarget.innerHTML;
});

它还返回所有的HTML。

<img src="data:image/jpeg;base64

如何才能得到只有名字?


共1个答案

匿名用户

有一种方法可以解决这个问题

null

function blobToDataURL(blob, callback) {
  return new Promise((resolve, reject) => {
    const fileReader = new FileReader();
    fileReader.onload = ({
      target: {
        result
      }
    }) => resolve(result);
    fileReader.readAsDataURL(blob);
  })
}


$(function() {

  fetch("https://i.picsum.photos/id/842/100/100.jpg")
    .then(response => response.blob())
    .then(blobToDataURL)
    .then(dataUri => {
      $('.image').attr("src", dataUri)
    })


  $(".main-wrapper").on('click', '.image', function(e) {
    console.log($(this).attr("src"));
  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main-wrapper">
  <div class="inner">
    <img class="image" src="">
  </div>

</div>