模拟点击<input type ="file"/> jQuery,Opera

Jos*_*rts 4 jquery opera file-upload file

我有一个显示无表格和输入类型文件,我也做了一个按钮.当你点击它应该打开下载对话框.此组合适用于除Opera之外的所有浏览器.如果删除display:none,则开始工作;

<form id="imageform" method="post" enctype="multipart/form-data" action='' style="display: none;">
    <input type="file" name="photoimg" id="photoimg" />
</form>
<input type="button" id="upload" value="upload">
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#upload').on("click", function () {
    $('#photoimg').click();
});
Run Code Online (Sandbox Code Playgroud)

请解释一下,如何避免这种情况.

the*_*dox 6

如果你使用visibility: hidden而不是使用它会更好display:none

或者您可以尝试使用纯CSS.例如:

#photoimg {
   left: -99999px
}
Run Code Online (Sandbox Code Playgroud)

要么

#photoimg {
   z-index: -999
}
Run Code Online (Sandbox Code Playgroud)

要么

#photoimg {
   width: 0px
}
Run Code Online (Sandbox Code Playgroud)

或类似的东西