如何正确获取光标坐标?的JavaScript

时间:2018-06-30 14:08:03

标签: javascript

如何正确获取屏幕上光标的坐标?

我尝试使用cscript C:\Windows\System32\Printing_Admin_Scripts\de-DE\prndrvr.vbs -a -m "Xerox GPD PCL6 V4.1.585.13.0" -i "driver'\x3UNIVX.inf" -h "driver\\" event.clientX,但是它仅在某些情况下有效。 如果我尝试为其创建特殊功能

event.clientY

但是,当我尝试将其包含在函数 stage = new createjs.Stage("myCanvas"); circle = new createjs.Shape(); circle.graphics.beginFill("red").drawCircle(0, 0, 40); createjs.Ticker.addEventListener("tick", handleTick); function handleTick() { if (circle.x > stage.canvas.width) { circle.x = 0; } stage.addChild(circle); stage.update(); } document.addEventListener("mousemove", function(){circle.x = event.clientX,circle.y = event.clientY}); 中时,我得到了错误提示:

handleTick()

我还有其他用途吗?为何它不能在我的Uncaught TypeError: Cannot read property 'clientX' of undefined 函数中起作用?

1 个答案:

答案 0 :(得分:1)

addEventListener应该为您提供event(如果您这样做),并添加event作为函数参数。这样,您应该能够获得鼠标位置并将其值分配给circle对象。

function handleTick(event) {
     circle.x = event.clientX;
     if (circle.x > stage.canvas.width) { circle.x = 0; }
     stage.addChild(circle);
     stage.update();
}

如果不这样做,则需要捕获鼠标移动并将其值存储在全局变量中,这是一篇很棒的文章,显示了执行此操作的其他方法。