【问题标题】:jQuery trigger anchor click action with seperate elementjQuery触发带有单独元素的锚点点击动作
【发布时间】:2012-06-19 14:44:21
【问题描述】:

这更像是一个假设性问题。

我想知道是否有人知道是否/如何通过使用 jQuery 单击另一个元素来触发锚点上的单击事件。

我想,我显而易见的解决方案是在锚点上获取 src 的内容,然后 js 导航到该位置。不幸的是,锚是mailto

这似乎有点软糖。有没有其他(更优雅)的方式来模拟用户通过点击按钮来点击锚点?

链接看起来像:-

<a id="testAnchor" href="mailto:test@stackoverflow.com">Email test</a>

【问题讨论】:

  • 不。作为安全措施,浏览器会故意禁用此功能。但是,您可以设置 window.location 以产生相同的结果而无需实际触发点击。

标签: javascript jquery hyperlink theory


【解决方案1】:

不,你不能这样做。但您可以执行以下操作:

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

上面的代码就像触发点击一样。

您可以尝试将点击事件与链接绑定,然后触发该点击。

$('#testAnchor').click(function() {
   window.location = this.href;
});

然后触发点击:

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

【讨论】:

    【解决方案2】:

    如果你有这样的按钮:

    <input type="button" id="clickme" value="Click Me!" />
    

    然后你可以模拟点击 a 标签:

    <script language="javascript" type="text/javascript">
    $(document).ready(function() {
      $("#clickme").click(function() {
        document.location.href=$("#testAnchor").attr('href');
      });
    });
    </script>
    

    【讨论】:

    • 对我来说也很漂亮,谢谢伙计,window.location 导航离开页面,这对于想要导航到锚链接但我想打开 mailto document.location 的用户来说很好款待。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2016-02-18
    • 2021-05-11
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多