以下代码在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>
由于
答案 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;标签没有方法点击。