未捕获RangeError:超出最大调用堆栈大小(多个输入=文件)

Waq*_*der 0 html javascript jquery

HTML

<div class="event-image">
  <figure>
    <img src="<?php echo base_url('assets/images/addimg.png'); ?>" />
    <figcaption class="imagcaption">Add Image</figcaption>
  </figure>
  <input type="file" name="upload" />
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(document).on("click","div.event-image",function(){
    $(this).children("input[type=file]").trigger("click");    
});
Run Code Online (Sandbox Code Playgroud)

div在循环中创建,所以我会有很多div class="event-image".如何触发用户单击的div文件.

任何帮助都会很棒

Man*_*wal 6

使用 e.stopPropagation()

防止事件冒泡DOM树,防止任何父处理程序被通知事件.

添加这个:

$("input[type=file]").on("click", function(e){
   e.stopPropagation();
})
Run Code Online (Sandbox Code Playgroud)