javascript - jQuery .change 事件不会在多个相同的类上触发

标签 javascript jquery

HTML 代码:

$(".imageupload").change(function() {
  alert($(this).attr('data-id'));
  var ID = $(this).attr('data-id');

  if (typeof(FileReader) != "undefined") {

    var image_holder = $("#image-holder" + ID);
    image_holder.empty();

    var reader = new FileReader();
    reader.onload = function(e) {
      $("<img />", {
        "src": e.target.result,
        "class": "thumb-image"
      }).appendTo(image_holder);

    }
    image_holder.show();
    reader.readAsDataURL($(this)[0].files[0]);
  } else {
    alert("This browser does not support FileReader.");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-sm-6 col-md-3">
  <div id="image-holder1" style="margin-bottom:20px"> </div>
  <input type="file" class="input-file full-width imageupload" data-id="1" name="imageupload1" id="imageupload1" value="" placeholder="">
  <div id="displayimagefield">
    <div id="image-holder2" style="margin-bottom:20px"> </div>
    <input type="file" class="input-file full-width imageupload" data-id="2" name="imageupload2" id="imageupload2" value="" placeholder="">
    <div id="image-holder3" style="margin-bottom:20px"> </div>
    <input type="file" class="input-file full-width imageupload" data-id="3" name="imageupload3" id="imageupload3" value="" placeholder="">
  </div>
</div>

类 imageupload 位于多个元素中。更改事件仅在 data-id="1"中触发,不在其他任何地方触发。我该如何解决这个错误?抱歉我的英语不好。

最佳答案

使用事件委托(delegate)将附加事件动态添加的元素:

$("body").on('change','.imageupload',function() {
    //CHANGE EVENT CODE HERE
});

关于javascript - jQuery .change 事件不会在多个相同的类上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43152792/

相关文章:

javascript - 使用 Intl.DateTimeFormat 获取 ISO 8601

javascript - 循环ajaxcallback(WCF服务)

javascript - 在删除方法上动态重新调整字段顺序

javascript - 无法在我的模板中获取发布对象模型

javascript - 如何在Phaser的更新方法中正确设置计数器?

javascript - 如何将复选框设置为带有确认消息的按钮?

javascript - 左右箭头移出图像时不会淡出

javascript - 对象成本===对象

javascript - jquery获取上面div中select的值

javascript - 可调整大小和可拖动的 div