单击<input type="file" />
FireFox3 中的文本框部分时,将打开一个文件浏览窗口。
这在 IE7 中不会发生。您必须单击“浏览”按钮才能打开文件浏览窗口。
当用户单击文本框区域时,如何防止文件浏览窗口在 FireFox 中打开?我想要它,所以它只有在按下按钮时才会打开。
单击<input type="file" />
FireFox3 中的文本框部分时,将打开一个文件浏览窗口。
这在 IE7 中不会发生。您必须单击“浏览”按钮才能打开文件浏览窗口。
当用户单击文本框区域时,如何防止文件浏览窗口在 FireFox 中打开?我想要它,所以它只有在按下按钮时才会打开。
为什么你不能不理会预期的行为?大多数使用 FireFox 的人都希望它会发生。除非您没有说明实现这一点的实际“设计”原因,否则请不要尝试更改它。
Firefox 这样做是为了防止使用文件输入的漏洞。
请参阅此博客条目的结尾和下面的一些评论。
我同意这很烦人,不是作为网站设计师/开发人员,而是作为 Firefox 的用户;有时我只想粘贴文件名而不必单击对话框。
即使你真的想这样做,我认为这是不可能的。
当用户单击文本框区域时,如何防止文件浏览窗口在 FireFox 中打开?
用另一个元素掩盖它。
<div style="position: relative">
<input type="file" />
<div style="position: absolute; top: 0; left: 0; width: 11em; height: 2em;"> </div>
</div>
但不要这样做。它非常脆弱,在许多情况下都会破裂。
我想要它,所以它只有在按下按钮时才会打开。
不过,我怀疑您的用户会喜欢它。它从浏览器中删除了预期的功能,并且不会用更好的东西代替它。或者实际上任何东西。
是的,它没有,网页对此无能为力。
我不知道可以控制这个的 FF 配置设置,所以你被 #3 困住了:
使用扩展程序可能会改变这种行为,但是您必须让您的用户安装您的扩展程序(对于内部应用程序可能是可行的)并处理它可能引入应用程序的错误。
一个简单的解决方法不是创建一个文本输入字段和一个按钮,该按钮用于触发文件浏览器,然后将信息填充回文本字段?我对这一切都很陌生,并且正在阅读很多关于这个问题的问题,包括 FF3 没有将相同的 css 样式应用于 input=file 的事实,因为它在以前的版本中所做的。