使用Javascript禁用上下文菜单(右键单击)

时间:2016-04-18 06:06:31

标签: javascript contextmenu right-click

我想禁用桌面上的右键菜单。因为我使用右键单击来改变它的颜色(做了一点战舰游戏)。但是我没有找到任何仍然有效的东西。所以我非常感谢你的回答:)

这是电话:

<td class="tdBox" onclick="attack(this, ${xStatus.count}, ${yStatus.count})" onmouseover="background(this)" onmouseout="backgroundLeave(this)" oncontextmenu="markField(this)">

这是JavaScript函数:

function markField(obj) {
    obj.style.backgroundColor = 'blue';
    //return false;
}

2 个答案:

答案 0 :(得分:1)

以下是如何覆盖contextmenu事件处理程序:

document.addEventListener("contextmenu", function(e) {
  e.preventDefault();
  alert('Right click');

  // Or, in you case: markField()
});

注意:不要求使用document。它适用于任何DOM节点。或者,您可以通过检查e

的目标来使阻塞成为条件

小提琴:https://jsfiddle.net/h1jdr1ew/1/

答案 1 :(得分:0)

试试此代码

<script language="javascript">
function markField(obj)
{
  if(event.button==2)
   {
     //add your code here
     obj.style.backgroundColor = 'blue';
     return false;    
   }
}
</script>

<td class="tdBox" onclick="attack(this, ${xStatus.count}, ${yStatus.count})" 
onmouseover="background(this)" onmouseout="backgroundLeave(this)" 
oncontextmenu="markField(this)">