Javascript 狩猎显示:无

Javascript 狩猎显示:无,javascript,jquery,html,css,safari,Javascript,Jquery,Html,Css,Safari,如果我使用css属性display:none隐藏元素,Safari就不会打开它!不过,它可以在所有其他浏览器中使用 这是我的html: <div id="f" class="btn">Select Image</div> <input type="file" id="file" style="display:none;" name='athletes_imageid' value="" /> Set type='hidden'不使用样式 **编辑:**

如果我使用css属性
display:none
隐藏元素,Safari就不会打开它!不过,它可以在所有其他浏览器中使用

这是我的html:

<div id="f" class="btn">Select Image</div>
<input type="file" id="file" style="display:none;" name='athletes_imageid'  value="" /> 

Set type='hidden'不使用样式

**编辑:**

尝试:

试试这个

<div id="f" class="btn">Select Image
    <input type="file" class="file" name='athletes_imageid'  value="" />
</div>

您只需删除
display:none
,然后添加以下CSS,这是我所知道的最简单、最跨浏览器的方法:

#file {
    height: 0;
    position: absolute;
    width: 0;
}

我不提供JSFIDLE,因为它似乎无论如何都不支持我的safari版本;)

#f
有高度吗?试着给它一些高度使用
style=“height:10px”
属性在
div#f
@VivekKumarBansal这并不能解决问题,我可以使用
可见性:hidden
但不能
显示:none
在Safari中他正在尝试打开一个文件对话框我做不到,我的输入打开一个文件选择窗口供上传。啊,您可以尝试改为visibility:hidden,并将高度和宽度设置为0:)您知道可以覆盖边距。对吗?它不是CSS意义上的空白,但我只是重试,它就消失了,所以我的错很抱歉(我删除了无用的评论)
<div id="f" class="btn">Select Image
    <input type="file" class="file" name='athletes_imageid'  value="" />
</div>
.btn{
    position: relative;
}
.file{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    bottom: 0;
    opacity: 0;
}
#file {
    height: 0;
    position: absolute;
    width: 0;
}