如何正确获取屏幕上光标的坐标?
我尝试使用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
函数中起作用?
答案 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();
}
如果不这样做,则需要捕获鼠标移动并将其值存储在全局变量中,这是一篇很棒的文章,显示了执行此操作的其他方法。