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

时间:2011-05-20 06:32:56

标签: jquery

我有像

这样的锚链接
<a id="myanchor" href="http://google.com" target="_blank">Google</a>

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

6 个答案:

答案 0 :(得分:20)

调用click事件(不执行重定向)和导航到href位置有所不同。

导航:

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

在新标签页或新窗口中打开:

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

调用click事件(调用javascript):

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

答案 1 :(得分:18)

即使这篇文章是精简版,我认为这是一个很好的演示,可以用jQuery来讨论一些墙,即思考click()实际点击一个元素,而不只是发送一个点击事件冒泡DOM。假设您实际上需要来模拟点击事件(即用于测试目的等)。如果是这种情况,只要您使用的是现代浏览器,就可以使用HTMLElement.prototype.click(见here for method details as well as a link to the W3 spec)。这应该适用于几乎所有浏览器,特别是如果你正在处理链接,如果你需要,你可以很容易地回到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'));
  }
};

答案 2 :(得分:1)

您无法以编程方式在新标签页中打开,它是一种浏览器功能。您可以在外部窗口中打开链接。看看here

答案 3 :(得分:1)

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

               $('#myanchor')[0].click();

答案 4 :(得分:1)

对我有用:

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

答案 5 :(得分:0)

$(":button").click(function () {                
                $("#anchor_google")[0].click();
            });
  1. 首先,如果没有给出id,请按类型找到按钮(使用&#34;:&#34;)。
  2. 其次,按ID或其他标签找到锚标记,例如div和$(&#34;#anchor_google&#34;)[0]返回DOM对象。