【问题标题】:Get button part of file input element using jQuery?使用jQuery获取文件输入元素的按钮部分?
【发布时间】:2012-07-08 20:32:12
【问题描述】:

我有一个文件输入元素,如下面的代码所示。如何使用 jQuery 获取此文件输入控件的按钮部分?

<input type="file" name="FILE1" id="FILE1"></input>

【问题讨论】:

  • 不能,看看我对this question的回复
  • This 有很好的答案/技巧
  • @elclanrs - 感谢您的帮助。它是使用 jQuery 设置文件输入控件样式的好方法。

标签: jquery file-io


【解决方案1】:

这是不可能的,因为文件输入行为是在浏览器的控制之下,并且会导致与安全相关的问题,例如阻止文件上传。但是您可以将file input 的不透明度设置为0,并创建一个虚拟元素并通过单击触发click 文件输入事件:

$("#trigger").click(function(e) {
   e.preventDefault();
   $("input[type='file']").trigger("click");        
}) 

【讨论】:

  • 我认为不可能触发click跨浏览器(安全原因)。此外,将不透明度更改为 0 不应影响其 clicking 功能。
  • @Jashwant 我已经在我的网站上使用了这种方法,它适用于所有浏览器,但 input[type='file'] 代替 id 可以防止安全问题。
  • click 实际上是唯一可以跨浏览器工作的事件。另一方面,change 有一些问题。
【解决方案2】:

你不能。按钮部分是特定于浏览器的。

【讨论】:

    【解决方案3】:

    有很多问题和答案涵盖了您可以对文件输入做什么。不是很多,但它是一些东西。

    Style input type file?

    埃里克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 2017-09-11
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 2022-07-07
      相关资源
      最近更新 更多