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');
我不确定它是否解决了您的确切问题,但这里有一段我用来模拟用户点击的代码:
var target = "..."; var e = jQuery.Event("click"); target.trigger(e); if (!e.isDefaultPrevented() && target.attr("href")) window.location.href = target.attr('href');