具有自己定义的对象的HTML5画布

时间:2014-04-22 15:16:11

标签: javascript html5 canvas contextmenu

我对画布上的画布和自定义对象有疑问。画布上的自定义对象是具有不同属性的javascript类,以便可以在画布上多次绘制该javascript对象。 所以现在我的问题是可以在javascript类中添加一个oncontextmenu。我想要以下一个:

如果我右键单击画布对象上的这样一个javscript类对象,则会弹出一个上下文菜单。

1 个答案:

答案 0 :(得分:0)

您可以在画布上侦听contextmenu事件(让您知道按下了鼠标右键)。

$("#canvas").contextmenu(function(e){handleContextMenu(e);});

function handleContextMenu(e){
  e.preventDefault();
  e.stopPropagation();

  mouseX=parseInt(e.clientX-offsetX);
  mouseY=parseInt(e.clientY-offsetY);

  // hit-test each of your objects
  // if the mouse is inside an object
  // then display your context menu

}

然后遍历您的对象并测试鼠标是否在任何对象内。

如果它在对象内,则显示上下文菜单。

有许多谷歌示例呈现实际的上下文菜单。这是一个:

http://ignitersworld.com/lab/contextMenu.html