右击是Javascript事件吗?如果是,我该如何使用它?


当前回答

是的,它是一个javascript鼠标下拉事件。有一个jQuery插件也可以做到这一点

其他回答

这是最简单的方法,它可以在所有浏览器上运行,除了应用程序web视图,如(CefSharp铬等…). 我希望我的代码能帮助到你,祝你好运!

const contentToRightClick=document.querySelector("div#contentToRightClick"); //const contentToRightClick=window; //If you want to add it into the whole document contentToRightClick.oncontextmenu=function(e){ e=(e||window.event); e.preventDefault(); console.log(e); return false; //Remove it if you want to keep the default contextmenu } div#contentToRightClick{ background-color: #eee; border: 1px solid rgba(0,0,0,.2); overflow: hidden; padding: 20px; height: 150px; } <div id="contentToRightClick">Right click on the box !</div>

如果你想调用函数,而右击事件意味着我们可以使用以下

 <html lang="en" oncontextmenu="func(); return false;">
 </html>

<script>
function func(){
alert("Yes");
}
</script>

这是我的工作

if (evt.xa.which == 3) 
{
    alert("Right mouse clicked");
}

下面的代码使用jQuery生成一个基于默认鼠标下拉和鼠标上拉事件的自定义右键单击事件。 它考虑到以下几点:

鼠标悬停时触发 仅当鼠标按下之前的同一元素时触发 这段代码特别适用于JFX Webview(因为上下文菜单事件不会在那里触发) 当键盘上的上下文菜单键被按下时,它不会触发(就像on('contextmenu',…)的解决方案一样)

$(function () { // global rightclick handler - trigger custom event "rightclick" var mouseDownElements = []; $(document).on('mousedown', '*', function(event) { if (event.which == 3) { mouseDownElements.push(this); } }); $(document).on('mouseup', '*', function(event) { if (event.which == 3 && mouseDownElements.indexOf(this) >= 0) { $(this).trigger('rightclick'); } }); $(document).on('mouseup', function() { mouseDownElements.length = 0; }); // disable contextmenu $(document).on('contextmenu', function(event) { event.preventDefault(); }); }); // Usage: $('#testButton').on('rightclick', function(event) { alert('this was a rightclick'); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="testButton">Rightclick me</button>

使用jQuery库处理事件

$(window).on("contextmenu", function(e)
{
   alert("Right click");
})