Jquery 无法在Opera中以ajax形式打开文件上载对话框

Jquery 无法在Opera中以ajax形式打开文件上载对话框,jquery,ajax,file-upload,opera,Jquery,Ajax,File Upload,Opera,我有一个通过ajax加载的表单,如下所示: <form action="/upload" method="post" enctype="multipart/form-data"> <div id="trigger"></div> <div class="hide"> <input type="file" /> </div> </form> <style>

我有一个通过ajax加载的表单,如下所示:

<form action="/upload" method="post" enctype="multipart/form-data">
    <div id="trigger"></div>
    <div class="hide">
        <input type="file" />
    </div>
</form>

<style>
    #hide {
        position: relative;
        width: 0;
        height: 0;
        overflow: hidden;
    }
</style>

#隐藏{
位置:相对位置;
宽度:0;
身高:0;
溢出:隐藏;
}

当你点击#trigger时,它会触发点击文件输入,它可以在Chrome、Safari和Firefox中工作,但不能在opera(v12.16)中工作。

触发代码在哪里?简单的是:$('#trigger')。on('click',function(){$('.hide input[type=file]')。trigger('click');});没什么奇怪的1-它是不相关的,但是hide被用作一个类,在你的风格中它是一个ID#hide。2-Opera 12是一个相当旧的版本,因此它可能不像firefox或chrome那样可以原谅错误。尝试为您的输入文件提供一个唯一的ID,例如#fileDialog,当单击#trigger时,直接触发该#fileDialog输入上的click事件。3-Opera控制台是否显示任何错误?4考虑旧的浏览器版本可能允许您触发文件上传事件,我认为由于安全性