我可以处理的画布对象上有哪些事件?

时间:2010-11-21 00:37:33

标签: javascript javascript-events canvas

我可以处理canvas object上的哪些事件。特别是,我正在寻找一个鼠标点击(或向下或向上等)事件,它将给我画布中的x和y。

2 个答案:

答案 0 :(得分:4)

这里有点 [Demo]

var canvas = document.getElementById("canvas");
canvas.onclick = function(e) {
  // mouse coordinates relative 
  // to the canvas element
  var position = canvas.getBoundingClientRect();
  var click = {
    x: e.clientX - position.left,
    y: e.clientY - position.top
  };
};

答案 1 :(得分:3)

您不能将DOM事件附加到DOM对象(元素)以外的内容。 canvas是一个DOM元素,你在它上面绘制的东西不是。为了获得用户点击的特定xy坐标,您必须将点击事件附加到canvas元素,然后将点击的x,y坐标与{{{x}的坐标进行比较。 1}}元素。