寻找解释inputfile.click()的文档

时间:2014-07-18 20:59:08

标签: javascript

我有一个名为myfile的HTML5输入文件。在同一个文件中,我在JavaScript的一部分中使用$("#myfile").click();$("#myfile").click();导致出现文件对话框。这是按预期工作的,但我想知道:

  • 记录在哪里(如果您发出$("#myfile").click();之类的声明,则会出现一个对话框),

  • 如果我将参数发送到.click()函数,是否有显示对话框的替代方法?

1 个答案:

答案 0 :(得分:2)

  

HTMLElement.click()方法模拟鼠标单击元素

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.click

HTML 5规范声明 -

  

element.click()就像点击了元素一样。

     

click()方法必须执行以下步骤:

     

如果元素是禁用的表单控件,则中止这些步骤。

     

在元素上运行合成点击激活步骤。

请参阅click method specification

行为本身将取决于元素点击,用户代理(浏览器)对该元素类型的点击的默认行为(通常没有,除了输入类型)和开发人员添加的任何自定义事件对于元素。

模拟点击事件 -

var domElement = document.getElementById(elementId);

if (domElement && typeof(domElement.click) === "function")
{
    domElement.click();
}   

有关不同元素如何响应的一些示例(以及您甚至可以通过模拟点击事件触发点击事件处理程序),请参阅http://jsfiddle.net/pwdst/KGgXq/以获取一些示例。

在回答有关文件输入的具体要点/问题时,HTML 5 specification for the element会说明"激活行为"对于类型为" file"的输入元素。这包括 -

  

向用户显示请求用户指定某个提示的提示   文件。如果未设置multiple属性,则必须不再有   选择一个文件;否则,可以选择任何数字。档   可以来自文件系统或动态创建,例如拍的照片   来自连接到用户设备的相机。

规范声明只有在元素未被禁用或只读时才会发生这种情况。