Этого легко добиться, используя прослушиватель событий в jQuery, вот простой и быстрый способ сделать это:
//Now add the jQuery
$(document).ready(function() { //Just starting up here
var menu = $('.menu');//get the menu
$(document).on('contextmenu', function(e) {//What this does is simply; if right-click, run function(contains an event)
e.preventDefault();//Prevent the default action: the normal right-click-menu to show
menu.css({
display: 'block',//show the menu
top: e.pageY,//make the menu be where you click (y)
left: e.pageX//make the menu be where you click (x)
});
});
$(document).click(function() { //When you left-click
menu.css({ display: 'none' });//Hide the menu
});
});
/* just some css to display it */
.menu {
background: #fff;
width: 60px;
padding: 3px 10px;
box-shadow: 0 0 10px -3px rgba(0, 0, 0, .3);
border: 1px solid #ccc;
display: none;
position: absolute;//this is important
}
<!-- jQuery CDN --><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Add some HTML for the menu -->
<div class="menu">
<p>Option 1</p>
<p>Option 2</p>
</div>