Javascript .click()没有在safari中触发

时间:2013-07-31 16:14:47

标签: javascript

我的应用程序中有一个文件上传输入,我正在使用链接和Javascript来打开对话框。

<a class="uploadlink" style="cursor:pointer" onclick="document.getElementById('file').click()">Open</a>

<input type="file" name="file" id="file" style="display:none" onchange="document.getElementById('txt').value = this.value"/>

我的代码适用于除Safari和Apple设备之外的所有浏览器和设备。当我单击链接并检查链接时,控制台没有注册错误。有人可以提出解决方案吗?

1 个答案:

答案 0 :(得分:0)

由于我在safari中有display:none,因此它不仅没有渲染,也没有被引用。我现在改变了我的代码如下。

Jquery解决方案

<a class="uploadlink" style="cursor:pointer" onclick="$('#file').trigger('click');">Open</a>
<input type="file" name="file" id="file" style="opacity:0" onchange="document.getElementById('txt').value = this.value"/>

Javascript解决方案

 <a class="uploadlink" style="cursor:pointer"  onclick="document.getElementById('file').click();">Open</a>

现在甚至在野生动物园都在工作。