jQuery触发器在Safari中不工作
我有一个输入类型的文件,我设置它显示无,并使用其他按钮触发它 我在每一个浏览器上都进行了测试,除了Safari之外,其他浏览器都可以正常工作jQuery触发器在Safari中不工作,jquery,safari,Jquery,Safari,我有一个输入类型的文件,我设置它显示无,并使用其他按钮触发它 我在每一个浏览器上都进行了测试,除了Safari之外,其他浏览器都可以正常工作 $("#file_button").click(function () { $("#image").trigger('click'); }); 这是一个非常常见的问题,尽管实现这一点的正确跨浏览器方法是使输入类型=“文件”透明,并绝对位于所需单击元素的上方 大概是这样的: <div class="file-wrap"> <s
$("#file_button").click(function () {
$("#image").trigger('click');
});
这是一个非常常见的问题,尽管实现这一点的正确跨浏览器方法是使
输入类型=“文件”
透明,并绝对位于所需单击元素的上方
大概是这样的:
<div class="file-wrap">
<span>Click me</span>
<input type="file" />
</div>
这样,用户认为他们在点击你设计的span,但你一直在偷偷摸摸地把你的文件输入放在上面
快速提示:不要将其放入
-IE不喜欢这样,在解析页面时会完全删除input type=“file”
,并且没有错误消息。我认为这可能是浏览器的安全功能。我知道文件
输入在编程方面受到很大限制。但是每个浏览器输入类型的文件宽度、高度和位置都是不同的。但通常如果您添加top:0;左:0;底部:0;右:0;宽度:100%;身高:100%代码>结果很好。这是目前的标准技术。有关示例,请参见的源代码。对于巨大的按钮,它们使用多个文件输入。
.file-wrap{
position: relative;
}
input[type="file"]{
position: absolute;
top: 0;
left: 0;
opacity: 0;
}