Reputation: 9293
How to slideUp
nav
element if user uses browser's contexmenu and clicks on Open link in a new tab
option?
$('.title').on('click', function(){
$('.nav').slideDown();
});
$('.nav').on('click', function(){
$(this).slideUp();
});
.title{cursor:pointer;}
.nav{display:none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='title'>MENU</div>
<div class='nav'>
<a href = 'https://google.com'>Google</a>
</div>
Upvotes: 0
Views: 279
Reputation: 2486
Actually, a context menu does not give you, your 100% accepted answer, you can stop the element right click show context menu. you show that a custom menu code here, maybe it helps you. link: http://jsfiddle.net/6cqhsfvL/1/ or above code
$('.title').on('click', function(){
$('.nav').slideDown();
});
$('.nav').on('click', function(){
$(this).slideUp();
});
$('.nav a').on("mousedown",function(e){
e.preventDefault();
if(event.which==3){
$('#item li a').attr('href', $(this).attr('href'));
}
});
$('.nav a').bind("contextmenu",function(e){
e.preventDefault();
$("#cntnr").css("left",e.pageX);
$("#cntnr").css("top",e.pageY);
$("#cntnr").fadeIn(200,startFocusOut());
});
$("#items").on('click', 'a', function(event) {
event.stopPropagation();
$('.nav').slideUp();
$("#cntnr").hide();
window.open($(this).attr('href'), '_blank' );
});
function startFocusOut(){
$(document).on("click",function(){
$("#cntnr").hide();
$(document).off("click");
});
}
.title{cursor:pointer;}
.nav{display:none;}
#items{
list-style:none;
margin:0px;
margin-top:4px;
padding-left:10px;
padding-right:10px;
padding-bottom:3px;
font-size:17px;
color: #333333;
}
#cntnr{
display:none;
position:fixed;
border:1px solid #B2B2B2;
width:150px; background:#F9F9F9;
box-shadow: 3px 3px 2px #E9E9E9;
border-radius:4px;
}
li{
padding: 3px;
padding-left:10px;
}
#items :hover{
color: white;
background:#284570;
border-radius:2px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='title'>MENU</div>
<div class='nav'>
<a href = 'https://google.com'>Google</a>
</div>
<div id='cntnr'>
<ul id='items'>
<li><a target="_blank" href="#">Open new tab</a></li>
</ul>
</div>
Upvotes: 1