您好我很难让.Click()命令在所有浏览器上运行,它可以在IE上运行,但不适用于FF,Chrome。
情景: Unity项目,场景里面有一个按钮。按下按钮时,会调用一个javascript函数。
在该函数中我有document.getElementById("file").click();
我在做什么:
当调用javascript函数时,我需要打开本地文件 - 浏览器对话框
(<input id="file" type="file">
)
按下按钮并调用&#34; file&#34;适用于所有浏览器。但尝试在类型上调用单击命令似乎不适用于FF,Chrome。还有其他选择吗? 任何工作?感谢。
只是为了澄清,WEBPAGE上没有用户输入,我得到的唯一一个是在html中调用的javascript函数。
答案 0 :(得分:0)
您的观察呼叫正确。在Internet Explorer中不支持.click()。通常的做法是使文件输入元素具有低不透明度并将其放在按钮上。
您可以在此处查看此方法的详细信息
答案 1 :(得分:0)
.click不是javascript中侦听点击事件的函数。 要听IE的事件,我们使用
.attachEvent
以及我们使用的其他浏览器
.addEventListener
我已经做了示例示例,此代码适用于所有浏览器
window.onload=function()
{
var a=document.getElementById("abc");
myAttachEvent(a, "click",onClickMethod );
};
function myAttachEvent(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
}else if (element.attachEvent) {
element.attachEvent('on' + type, handler)
} else {
element['on' + type] = handler;
}
}
function onClickMethod(){
alert("clicked");
}
div{
background: green;
height:100px;
width:100px;
}
<div id="abc"></div>