我可以处理canvas object上的哪些事件。特别是,我正在寻找一个鼠标点击(或向下或向上等)事件,它将给我画布中的x和y。
答案 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}}元素。