jQuery:如何触发锚链接的点击事件

我有一个锚链接

<a id="myanchor" href="http://google.com" target="_blank">Google</a> 

如何以编程方式在新标签中打开href目标?

尝试以下操作:

$("#myanchor")[0].click()

就如此容易。

调用click事件(不做redirect)和导航到href位置是有区别的。

导航:

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

在新标签或窗口中打开:

  window.open($('#myanchor').attr('href')); 

调用click事件(调用javascript):

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

即使这篇文章是caput,我认为这是一个很好的演示,可以用jQuery来运行,也就是说, click()实际上是点击一个元素,而不是发送一个点击事件在DOM中冒泡。 假设你真的需要模拟一个点击事件(例如为了testing目的等)如果是这样的话,假设你使用的是一个现代浏览器,你可以使用HTMLElement.prototype.click ( 在这里也可以查看方法细节作为W3规范的一个链接 )。 这应该适用于几乎所有的浏览器,尤其是在处理链接的情况下,如果需要,可以很容易地回退到window.open

 var clickLink = function(linkEl) { if (HTMLElement.prototype.click) { // You'll want to create a new element so you don't alter the page element's // attributes, unless of course the target attr is already _blank // or you don't need to alter anything var linkElCopy = $.extend(true, Object.create(linkEl), linkEl); $(linkElCopy).attr('target', '_blank'); linkElCopy.click(); } else { // As Daniel Doezema had said window.open($(linkEl).attr('href')); } }; 

您无法以编程方式打开新标签页,这是浏览器function。 您可以在外部窗口中打开链接。 看看这里

  window.open($('#myanchor').attr('href')); $('#myanchor')[0].click(); 
 $(":button").click(function () { $("#anchor_google")[0].click(); }); 
  1. 首先,如果没有给出id,则按types查找button(使用“:”)。
  2. 其次,通过id或其他标签(如div和$(“#anchor_google”)[0])返回DOM对象来查找锚标签。