我的网站上有一个输入和其他普通按钮文件:
<input type="file" id="myid_upload_background_input" onClick="testClick();"/>
当按钮被cliked时,myid_templates_editor_open_file_dialog('myid_upload_background_input');
function myid_templates_editor_open_file_dialog(elemId)
{
var elem = document.getElementById(elemId);
if(elem && document.createEvent) {
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, false);
elem.dispatchEvent(evt);
}
}
function testClick(){
alert('Click event is invoked in an input file.');
}
通过单击普通按钮运行程序后,它会显示消息Click event is invoked in an input file.
这意味着输入文件的单击事件已成功创建,但为什么打开文件对话框无法打开?
答案 0 :(得分:0)
尝试在.click()
元素的input type="file"
处理程序中的onclick
元素上调用button
document.getElementById("button").onclick = function() {
document.getElementById("upload").click()
}
function testClick() {
console.log("Click event is invoked in an input file.");
}
<button id="button">Click here</button>
<br/>
<br/>
<br/>
<input type="file" id="upload" onclick="testClick()" />