我可以使用jQuery模拟文档就绪的点击吗?

时间:2011-12-06 09:23:06

标签: jquery event-handling

我有this代码:

<a href="javascript:void(0)" id="0" class="hp_nav_label">0</a>
<a href="javascript:void(0)" id="1" class="hp_nav_label">1</a>
<a href="javascript:void(0)" id="2" class="hp_nav_label">2</a>
<a href="javascript:void(0)" id="3" class="hp_nav_label">3</a>
<a href="javascript:void(0)" id="4" class="hp_nav_label">4</a>

$('.hp_nav_label').click(function() {
    alert($(this).attr('id'));
});

当我点击每个链接时,我会显示其ID。

现在,我想,在准备好文档时,自动“处理”与id=2的链接,而不是“点击”它。

所以,在该链接上进行一种模拟。用jQuery可以吗?

5 个答案:

答案 0 :(得分:8)

要触发事件,只需在元素上调用jQuery中的相关事件函数,而不定义处理函数,如下所示:

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

或者还有trigger(),它接受​​事件类型作为参数:

$("#2").trigger('click');

但值得注意的是,以数字开头的Id属性无效,因此您很可能必须更改ID以使其正常工作。

我已更新您的小提示以修复ID并显示上述代码正常工作here

答案 1 :(得分:1)

您可以使用trigger

$('#2').trigger('click');

http://api.jquery.com/trigger/

答案 2 :(得分:1)

是的,.click()方法也用于触发click事件。

$('#2').click();

这是$('#2').trigger('click');的缩写。

另请注意,ID不能以数字开头。

jQuery documentation for click()

jQuery documentation for trigger()

答案 3 :(得分:1)

通常你可以调用与点击调用相同的功能。

您是否需要填写$(this)之类的内容?

答案 4 :(得分:1)

您可以使用triggerHandler

$("#2").triggerHandler("click");