如何触发HTML链接(锚点元素)的默认动作/事件?
如何触发HTML链接(锚元素)的默认动作/事件?这就是使用JavaScript/jQuery来“点击”现有的HTML链接,就好像用户点击了它一样。如何触发HTML链接(锚点元素)的默认动作/事件?
只使用.click()
似乎并不奏效。
$('#alink').click();
// the nothing happening
对于这个HTML:
<a id="alink" href="http://google.com" target="_blank">a link</a>
例小提琴:http://jsfiddle.net/dCfD8/
我宁可不使用JavaScript创建一个新的窗口(和照顾其他任何需要处理时,链接被点击)。
可以使用jQuery的一个简单方法trigger
触发click事件。
$('#alink').trigger('click');
但要小心,即使事件被触发,浏览器也不会跟随链接href。遵循href的唯一方法是用鼠标自己实际点击它。
据我所知,没有办法强制链接的行为就像点击一样。您必须更改文档位置或类似的内容才能在页面之间实际导航。
接受“有没有办法强制链接的行为,如果它被点击”,这是http://stackoverflow.com/questions/1694595/can-i-call-jquery-click-to-follow-an- a-link-if-i-havent-bound-an-event-handl也说明。 – Qtax
扩大对法比奥奇切尔基亚对自己的评论:您可以使用window.open
:
var link = $('#alink');
var target = link.attr("target");
window.open(link.attr("href"), target ? target : "_self");
<script src='jquery lib source' ></script>
<script>
function force()
{ ...do something...to fill page2
$('#gopage2').trigger('submit');
}
</script>
<form action='#page2' id='gopage2'>
</form>
...
<span name='#page2'>This is page2</span>
请考虑为您的答案添加一些解释,而不仅仅是一个代码。我们的目标是教育人们,让他们理解答案,并可以在其他情况下应用。如果你评论你的代码并添加一个解释,那么你不仅会对这次提问的人更有帮助,而且会对将来可能遇到同样问题的人更有帮助。 – starsplusplus
看到这个:http://stackoverflow.com/questions/1694595/can-i-call-jquery - 点击后跟一个链接 - 如果我还没有绑定一个事件手柄 –
@Digital Plane,谢谢,以前没有看到过。但是,知道这件事是否有任何改变会很有趣,或者即使对于最新的浏览器(例如Chrome 13+),“无法完成”的答案仍然适用。 – Qtax