我在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中使用它?
答案 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>