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

时间:2010-03-18 15:29:28

标签: 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.getElementById('mylabel').click();
    }
//-->
</SCRIPT>

 </HEAD>

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


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

由于

3 个答案:

答案 0 :(得分:4)

Firefox只有一个click()函数用于表单元素,如按钮。但是,您可以直接调用onClick函数;您可以将行更改为

document.getElementById('mylabel').onclick();

这适用于firefox或IE(但请注意,它要求该函数实际存在,您知道它在此示例中执行此操作。)

另请注意,您实际上并未模拟该元素的点击(例如,如果还有其他类似点击的内容,例如也可以点击容器,则不会发生)。你只是获得了一个点击运行的功能,并直接运行它。因此,对于您需要模拟点击的所有情况,它都不是解决方案。

答案 1 :(得分:3)

元素上没有click方法。你在使用任何图书馆吗?

通常你必须做element.fireEvent('click')(原型,mootools)

之类的事情

element.click()(jquery)

更新 - 类似问题:How do I programmatically click on an element in JavaScript?

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

答案 2 :(得分:0)

因为&lt; p&gt;标签没有方法点击。