Javascript 以编程方式触发onclick事件?

Javascript 以编程方式触发onclick事件?,javascript,onclick,click,dom-events,Javascript,Onclick,Click,Dom Events,我正在尝试使用iframe模拟异步文件上载。这是我的标记: <form method="POST" enctype="multipart/form-data" name="change-avatar" action="/dyn/actions/upload?type=profile" target="target-upload"> <input type="file" name="change-avatar-input" style="position: absolute; z

我正在尝试使用iframe模拟异步文件上载。这是我的标记:

<form method="POST" enctype="multipart/form-data" name="change-avatar" action="/dyn/actions/upload?type=profile" target="target-upload">
<input type="file" name="change-avatar-input" style="position: absolute; z-index: 999; cursor: pointer; left: 10px; top: 57px; width: 147px; height: 23px; opacity: 0;"/>
<div style="position: absolute; z-index: 1000; cursor: pointer; left: 10px; top: 57px; width: 147px; height: 23px; opacity: 0;"/>
</form>
<button id="avatar-src" class="browse-button" type="button">Select File to Upload</button>

选择要上载的文件
我使用了一个常规按钮,在上面放置了一个input type=文件,并将不透明度设置为0。此输入提交到隐藏的iframe。问题是文件输入产生了一个意外的游标(应该是指针),并且无法可靠地设置样式。我通过将另一个0 opacity div放置在0 opacity文件输入上并设置样式以生成正确的光标,解决了这个问题。然后,我设置了一个事件处理程序来检测对0 opacity div的单击,然后使用
click()
以编程方式触发文件输入的onclick事件


问题是
对象。Firefox似乎不支持click()
(在IE中工作正常)。

查看Valums Ajax上传:


该组件已完成您似乎正在尝试的操作。。。您应该能够在那里获得一些关于代码的好主意(或者只使用组件)。

单击()
仅针对
按钮“
”复选框“
”单选“
”重置“
,或
”提交”类型的
元素进行标准化
:能否提供设置事件处理程序的代码?我下面的回答可能不正确,这取决于firefox的具体行为给您带来的问题。this.fixCursorDiv.observe('click',function(){that.fileInput.click();});使用文件输入看起来无法解决-请参见非常熟悉的