使用JavaScript将onrightclick属性添加到画布

使用JavaScript将onrightclick属性添加到画布,javascript,html,canvas,event-handling,dojo,Javascript,Html,Canvas,Event Handling,Dojo,我正在尝试向画布添加onrightclick属性,如下所示: canvas.onclick = function(evnt) { doSomethingClick(); } canvas.onrightclick = function(evnt) { doSomethingRightClick(); } 代码很简单,我对“onclick”和“onrightclick”也这么做。onclick部分正在工作,但当我右键单击时,浏览器会右键单击。如何按预

我正在尝试向画布添加onrightclick属性,如下所示:

canvas.onclick = function(evnt) {
    doSomethingClick();
}

canvas.onrightclick = function(evnt) {
    doSomethingRightClick();              
}

代码很简单,我对“onclick”和“onrightclick”也这么做。onclick部分正在工作,但当我右键单击时,浏览器会右键单击。如何按预期覆盖浏览器右键单击?

您可能正在寻找


var cnv=document.getElementById('cnv');
cnv.oncontextmenu=函数(){
警报(“右键单击”);
返回false;
}

提琴示例(在Fx12/MacOS上试用):

您可能正在寻找


var cnv=document.getElementById('cnv');
cnv.oncontextmenu=函数(){
警报(“右键单击”);
返回false;
}
提琴示例(在Fx12/MacOS上试用):

如果您想要使用dojo小部件的上下文菜单,请签出

如果您想要使用dojo小部件的上下文菜单,请签出


曾在Opera 11工作。恼人的是,菜单在发出警报后打开。@OptimusCrime我忘记了小提琴上的
返回false
。现在它可以在Opera 11.64和Chrome 19上运行了。你是对的,它现在运行得非常完美。接球也不错。我从来不知道这件事+我在歌剧院工作。恼人的是,菜单在发出警报后打开。@OptimusCrime我忘记了小提琴上的
返回false
。现在它可以在Opera 11.64和Chrome 19上运行了。你是对的,它现在运行得非常完美。接球也不错。我从来不知道这件事+1
<canvas id="cnv" width="200" height="200"></canvas>

var cnv = document.getElementById('cnv');
cnv.oncontextmenu = function() {
   alert('right click');  
   return false; 
}
dojo.connect(canvas, 'onclick', function(e) {
  if (dojo.mouse.isRight(e)) {
    ...
  }
});