使用WebGL上下文阻止在画布中右键单击

Ash*_*ain 2 javascript html5 canvas webgl

我想在HTML5画布上停止鼠标右键,打开上下文菜单,因为它阻碍了鼠标控制的游戏.

我已经尝试添加oncontextmenu="return false;"canvas标签属性.这在画布使用2D上下文时有效,但在Firefox和Chrome中使用WebGL上下文时则无效.

这是由标准指定的,还是两个同时发生的浏览器错误?有没有办法解决这个问题并阻止WebGL上下文中的右键单击?

Sim*_*ris 7

结果可能因浏览器而异,因此请确保这适用于所有目标浏览器.我只在Chrome中尝试过.

  yourCanvas.addEventListener('contextmenu', function(e) {
      if (e.button === 2) {
       e.preventDefault();
        return false;
      }
  }, false);
Run Code Online (Sandbox Code Playgroud)

工作示例:http://jsfiddle.net/cK9Rt/

(它会在控制台中说"test"但不会显示上下文菜单)