"在新标签中打开链接"只有右键点击

时间:2015-10-16 19:17:46

标签: php jquery

所以,我有一个div,当它被左键单击时,它会弹出一个弹出窗口。

但是,我希望有一个div的链接,所以当用户右键单击时,有一个" href"的选项。并且可以点击"在新标签中打开链接"。

这就是我的意思:

 <div class="show_popup">
    Shows popup for `example.com/hi`
 </div>

那么,有没有办法添加&#34; href&#34;什么都不做&#34;左键单击&#34;功能(即不会将用户重定向到另一个页面),但是当用户右键单击它时,可以选择在新选项卡中打开链接&#34;。

我希望这是有道理的。

谢谢!

1 个答案:

答案 0 :(得分:1)

有趣的问题。我想知道这是否可行并提出以下建议:

注意:代码可能无法在Stackoverflow或任何其他可以托管代码的服务上运行,因为它在沙盒环境中运行。如果您打开控制台,您可能会看到警告,告诉您它已阻止弹出窗口。要访问您的控制台:

<强>铬

Ctrl / Command + Shift / Option + J

Firefox

Ctrl / Command + Shift / Option + K

$(function() {

  $('.my-element').on('click contextmenu', function(e) {

    // If the right mouse button is used 
    if (e.which === 3) {

      // Grab data-link value from <div> 
      var link = $(this).data('link');
      // Open new tab
      window.open(link, '_blank');

    }

    // Cancel default right click behavior
    return false;

  });

});
.my-element {
  width: 200px;
  height: 200px;
  color: white;
  background: tomato;
  font: bold 1em sans-serif;
  text-align: center;
  line-height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="my-element" data-link="https://www.google.com">Right click here</div>