click()(javascript)方法在FF中不起作用

click()(javascript)方法在FF中不起作用,javascript,javascript-events,Javascript,Javascript Events,下面的代码在IE中抛出了两个警报,但在Firefox中没有。请帮忙 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function myFunction(){ alert('myfunc'); document.getEl

下面的代码在IE中抛出了两个警报,但在Firefox中没有。请帮忙

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
    function myFunction(){
        alert('myfunc');
        document.getElementById('mylabel').click();
    }
//-->
</SCRIPT>

 </HEAD>

 <BODY>
  <p id='mylabel' onclick="alert('you reached');"></p>


  <input type='button' value="Click me" onclick='myFunction();'/>
 </BODY>
</HTML>


谢谢元素上没有
单击
方法。你在用图书馆吗

通常您必须执行类似于
element.firevent('click')
(原型,mootools)的操作

元素。单击()
(jquery)

更新-类似问题:


看起来像是一个丑陋而脆弱的解决方案,如果我是你,我只会包括jQuery,让它处理所有浏览器的怪癖。

因为标记没有方法click。

Firefox只有一个click()函数用于表单元素,如按钮。但是,您可以直接调用onClick函数;你可以把线路改成

document.getElementById('mylabel').onclick();
这适用于firefox或IE(但请注意,它要求函数实际存在,在本例中您知道它确实存在)


还请注意,您实际上并不是在模拟对该元素的单击(因此,例如,如果这种单击可以执行其他操作,例如也可以作为对容器的单击,则不会执行这些操作)。您只需获得一个单击即可运行的函数,然后直接运行它。因此,对于所有需要模拟点击的情况,它都不是一个解决方案。

IE支持很多标准Javascript实现中没有的东西,但它们在其他浏览器中不起作用。好的。。但这项工作将如何进行?有没有一种方法可以在不使用jQuery之类的库的情况下实现这一点?看起来Firefox确实支持在某些元素上单击
,但它仍然不是标准的一部分,因此是一种不好的做法。看