jquery click对超链接不起作用

我有一个简单的链接点击模拟,我想用jQuery做。 从我读到的,这应该工作,但下面的代码不起作用。 如果我做同样的事情或其他事件的一部分,也没有任何事情发生。 思考?

 $(function() { $("#lnk_0").click(); });  link 

click()

触发每个匹配元素的click事件。

导致已执行绑定到该click事件的所有函数。

需要注意的重要一点是,它不会重复点击链接。 它只触发相关事件。 如果要更改位置:

 var link = $("#link_0"); link.click(); window.location.href = link.attr("href"); 

但即使这只是一个近似值,因为它不适合处理器停止事件传播。

调用jQuery的click方法将调用您添加的任何click处理程序,但不会单击该链接。

你需要写:

 window.location = $("#lnk_0").attr('href'); 

(这假设没有任何click事件处理程序)


编辑:在回复您的评论时,您可以调用仅限IE的DOM click方法,如下所示:

 if ($("#lnk_0")[0].click) $("#lnk_0")[0].click(); else window.location = $("#lnk_0").attr('href'); 

要在使用jQuery覆盖时允许超链接function(hover,手形光标等),您可以执行以下操作:

  
 Open Modal 
Hello

我不确定它是否解决了您的确切问题,但这里有一段我​​用来模拟用户点击的代码:

 var target = "..."; var e = jQuery.Event("click"); target.trigger(e); if (!e.isDefaultPrevented() && target.attr("href")) window.location.href = target.attr('href');