【问题标题】:Proper javascript redirect that works with "Open link in new tab"与“在新选项卡中打开链接”一起使用的正确 javascript 重定向
【发布时间】:2014-12-19 05:43:51
【问题描述】:

有没有办法使用与<a> 标记完全相同的 JavaScript 创建链接?换句话说,当你正常点击它时,它会在当前窗口中打开,当你右键单击时,它会在选项下显示“在新选项卡中打开链接”。如果你点击它,它会在新标签页中打开。

我对在 html 中添加 <a> 标记的解决方案不感兴趣,因为我问这个的主要原因是我需要将此链接应用到 <tr> 元素。

编辑:请考虑这需要使用键盘快捷方式(例如 cmd+click 在 Mac 上)以及右键单击和“在新标签中打开”

【问题讨论】:

  • 如果你需要标准的上下文菜单,我很确定这是不可能的。如果您想实现自定义上下文菜单,可以通过window.open('http://...', '_blank') 打开 url,并且通常单击检查是否按下了 Cmd。
  • 是的,但是您可以在 JavaScript 函数中使用 keyCode_blank 中打开或直接使用 document.location.href

标签: javascript jquery hyperlink anchor tr


【解决方案1】:

使用window.open(url, '_blank')打开一个新的目标窗口

【讨论】:

    【解决方案2】:

    首先,没有办法让 Javascript 功能与 HTML a 标签完全一样。不过,你可以模仿它。可能有更好的解决方案,但我研究的是如何模拟点击链接的每一个动作。

    你会想要处理...

    1. 光标更改(悬停、活动、当前等)

    2. 确定是要重定向还是运行 javascript/JQuery。

    如果您选择重定向,则无需处理太多其他问题(仅下面的 #4)。浏览器会进行重定向,就像点击 HTML a 标签一样。

    如果您想运行代码,那么您将不得不处理更多。这包括...

    1. 向浏览器添加历史记录,以在用户启动返回命令时提供帮助。在支持 HTML5 的情况下,这相对容易。在 HTML4 中,您需要使用 JQuery 或其他东西。

    2. 为右键单击等添加机制。你必须模仿它。这部分非常痛苦,因为现在您正试图干扰/替换浏览器操作。

    因此,如果您愿意,那么您将获得更多力量。但是,我强烈建议您将标签添加到您的标签中,然后将链接设置为无处可去(“”或“#”)并将“onclick”添加到该标签以运行javascript。幸运的是,onclick 也可以与键盘一起使用标签,而不仅仅是鼠标点击 (http://websiteaccessibility.donaldevans.com/2011/06/30/when-does-onclick-work-with-the-keyboard-enter-key/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2012-01-15
      • 2015-03-08
      相关资源
      最近更新 更多