【发布时间】:2014-06-09 14:40:11
【问题描述】:
如何使用纯 JavaScript 捕获鼠标在 mousedown 事件中经过的所有坐标?
var my_canvas=document.getElementById("drawing-pad");
var ctx=my_canvas.getContext("2d");
my_canvas.addEventListener("mousedown", draw_on_click, false);
function draw_on_click(e){
var x_pos=e.clientX;
var y_pos=e.clientY;
ctx.fillStyle = "#FF0000";
ctx.fillRect(x_pos,y_pos,15,15);
}
我希望处理程序在每个坐标上运行(如果可以的话那就太好了!)但我错了。
我在 SO 中看到了类似于我的问题 here 的答案,但它使用 Jquery,我试图远离它,因为我想在更熟练地掌握核心和客户端 javascript 之后开始使用 Angular。
想法:想到一件事。我应该在处理程序中使用 setInterval 并定期捕获 clientX 和 clientY 并在 mouseup 事件发生时将其清除吗?我想对了吗?有更好的方法吗?
【问题讨论】:
-
@Nit:你怎么能不完整阅读问题来指出重复?我特别指出使用 Jquery 有答案。
-
解决问题的方法是一样的,你只需要使用vanilla Javascript而不是jQuery来绑定事件。
标签: javascript html