2011-12-04 71 views
1

网站具有下面的代码:如何按javascript按钮div按钮?

<ul class="left"> 
    <li><div id="run" class="button"><div class="inner">Run</div></div></li> 
</ul> 

而且这个脚本:

$("#run").click(function() {...}); 

下面的代码无法正常工作:(

document.getElementById('run').click(); 

如何按下按钮“运行“通过javascript命令浏览器?

非常感谢帮助!

+0

你要动态地按一下按钮(无鼠标点击),或者你想点击事件添加到div? – Will

+0

动态点击按钮 – Dmitry

+0

第二块代码*是* jQuery;你真的*使用* jQuery,或者需要在纯/朴素/香草JavaScript的答案吗? (如果jQuery可以接受,请考虑添加[tag:jquery]标签。) –

回答

2

好老的Javascript:

var evt = document.createEvent("MouseEvents"); 
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
var run = document.getElementById("run"); 
run.dispatchEvent(evt); 

在jQuery中:

$("#run").click(); 

更多docs手动aboute射击鼠标事件。

+0

第一个作品!谢谢! – Dmitry

+0

@Altaveron'$(“#run”)有什么问题。click();'我无法确定出了什么问题,MERRIGДДL的回答 –

+0

它只是没有工作...我不知道为什么 – Dmitry

0

onclick="run()"添加到外部div标记。 您可能需要添加onselectstart="return false"以避免选择文本。

+2

我不认为这是OP的要求。 –

+0

哦,我没有看到编辑。 –

6

很简单的使用jQuery做的(它看来,你已经在使用):

$("#run").click(); 

正如他们所说,RTFD:http://api.jquery.com/click

+0

不要工作太:( – Dmitry

+1

@Altaveron定义“不工作”。你想完成什么?[SSCCE](http://sscce.org),也许通过http:// jsfiddle。如果你想要一个更好的解决方案,请给出一个更好的问题描述。 –

3

尝试:

$('#run').trigger('click'); 
+0

不要工作:(鼠标点击作品! – Dmitry

+0

其实它的工作原理就是如此,见[FIDDLE ](http://jsfiddle.net/jGzGZ/)另一方面,它可能不会像你想要的那样工作,这可能是由于你试图达到什么的错误解释。至于假冒点击在一个按钮上,这是要走的路,如果你正在尝试做其他事情,请解释一下ter。 – adeneo

1
$("#run").click(function() { /* ... */ }).trigger('click'); 
+0

重复所有功能码? – Dmitry

+1

不,只需触发脚本中任何地方的点击事件即可。 (在事件被绑定之后) – JSninja