【问题标题】:How do I simulate clicking a link that opens in a new tab/window using jQuery/Javascript?如何使用 jQuery/Javascript 模拟单击​​在新选项卡/窗口中打开的链接?
【发布时间】:2011-12-30 22:26:28
【问题描述】:

我有一个在新标签页中打开的链接,带有 _blank:

<a href="new_page.html" target="_blank">link</a>

我希望能够从 Javascript 中“点击”它。我知道我可以做到document.location=...,但这里的问题是新标签部分。这可能吗?

【问题讨论】:

标签: javascript jquery html browser


【解决方案1】:

您通常可以使用window.open 打开一个新窗口或标签。因此,不要设置location,只需调用window.open 并仅传递URL,别无其他。

【讨论】:

    【解决方案2】:
    $("#your_a").click(function(e) {
       e.preventDefault();
       window.open($(this).attr("href"), this.target);
    }
    

    如果您想完全覆盖链接操作,您可以使用任何名称作为目标,preventDefault()

    【讨论】:

    • 啊忘了提,这将在旧浏览器(如 IE 7)中打开一个新窗口,在其他所有内容中打开一个新标签
    【解决方案3】:

    如果你真的想模拟点击,你可以给锚标签一个id,然后在那个元素上调用jQuery click()。

    <a id="mylink" href="new_page.html" target="_blank">link</a>
    

    在脚本中

    $("#mylink").click()
    

    【讨论】:

      【解决方案4】:

      “模拟”你触发点击事件的点击:

      HTML:

      <a href="new_page.html" target="_blank" id="mylink">click me</a>
      

      jQuery:

      $("#mylink").trigger("click");
      

      -或-

      $("#mylink").click();
      

      如果您将函数绑定到点击事件,则使用“触发器”可以传入额外的参数。有关更多信息,请参阅 jQuery“触发器”文档:http://api.jquery.com/trigger/

      【讨论】:

        猜你喜欢
        • 2010-12-01
        • 2013-02-15
        • 2013-11-11
        • 2015-03-08
        • 2012-03-19
        • 2011-12-12
        • 1970-01-01
        • 1970-01-01
        • 2019-08-23
        相关资源
        最近更新 更多