触发('点击')无法在IE中运行

时间:2017-02-03 05:20:18

标签: javascript jquery

我在Jquery中运行以下代码:

<script type="text/javascript">
$(document).ready(function(){
  $('body').on('click', '.add-photo',function() {


$("#images").append($('<input/>').attr('type', 'file').attr('name','uploads[]').attr('class', 'photo-upload-box').attr('value', '').trigger('click'));


});
});
</script>

HTML编码

<input type="submit" class="add-photo">
<div id="images"> </div>

我们知道每次执行函数时都会为文件创建新的输入。我面临的是点击事件在IE中不起作用,但在firefox中正常工作。

我也尝试了触发器(&#39;点击&#39;)但它在IE中无效。任何人都可以建议我如何在Internet Explorer中使用它?

1 个答案:

答案 0 :(得分:0)

在创建输入元素时,您看起来有一些格式问题。这应该适合你。只需使用本机onclick来调用该函数,因为你真的不需要jquery观察器。如果您需要更多帮助,请告诉我们: - )

现在,已编辑的版本将适用于课程.add-photo的任何内容。

$('body').on('click','.add-photo',function(){
  
  let input = $("<input>",{
    'type': 'file',
    'name': 'uploads[]',
    'class': 'photo-upload-box'
  });
  
  $( input ).click();
  
  $( input ).change(function(){
  
    console.log( this.value );
  
  });
  
});
.add-photo {
  background-color: rgba(0,0,0,.15);
  width: 100px;
  text-align: center;
  padding: 10px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="add-photo">Add photo</div>

<div id="output"></div>