代码之家  ›  专栏  ›  技术社区  ›  C. Ross trotttrotttrott

我可以处理画布对象上的事件是什么?

  •  3
  • C. Ross trotttrotttrott  · 技术社区  · 15 年前

    关于什么活动 canvas object 我能处理的。特别是,我在寻找一个鼠标点击(或者向下,或者向上,等等)事件,它将在画布中给我X和Y。

    2 回复  |  直到 15 年前
        1
  •  4
  •   gblazex    15 年前

    这里有一点 [ ] 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
      };
    };
    
        2
  •  3
  •   Alex    15 年前

    不能将DOM事件附加到除DOM对象(元素)之外的其他对象。这个 canvas 是一个dom元素,而您在上面绘制的内容则不是。要获取用户单击位置的特定x y坐标,必须将单击事件附加到 帆布 元素,然后将单击的x,y坐标与 帆布 元素。