所以,我有一个div,当它被左键单击时,它会弹出一个弹出窗口。
但是,我希望有一个div的链接,所以当用户右键单击时,有一个" href"的选项。并且可以点击"在新标签中打开链接"。
这就是我的意思:
<div class="show_popup">
Shows popup for `example.com/hi`
</div>
那么,有没有办法添加&#34; href&#34;什么都不做&#34;左键单击&#34;功能(即不会将用户重定向到另一个页面),但是当用户右键单击它时,可以选择在新选项卡中打开链接&#34;。
我希望这是有道理的。
谢谢!
答案 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>