0

我正在尝试将 html 按钮的 x 和 y 设置为用户单击鼠标的 x 和 y,我这样做如下:

function buttonPressed(event, id){
var mainEvent = event ? event : window.event;
var mousex=event.clientX;
var mousey=mainEvent.screenY;
var y= $('#'+id).position();
var x= document.getElementById(id).offsetLeft;

console.log(y);
console.log(mousey);

这显示了两种不同的方法来获取按钮和鼠标的这些值(event.clientX、mainEvent.screenY、$('#'+id).position()(使用 jquery)和 offsetLeft)。然而,这些技术似乎都没有像我希望的那样起作用,因为值不对齐,即当我单击按钮的左上角时,值不相同甚至不相似。此外,差异似乎发生了变化,例如:如果我在左上角有一个按钮,在左上角有一个右上角,则值可能相差 100,而底部则相差 -100。我怎样才能实现我想要的(能够比较mousex和buttonx)?

4

1 回答 1

0

客户端 X/Y 鼠标指针 X/Y 相对于窗口的坐标

偏移 X/Y 鼠标指针 X/Y 坐标相对于触发事件的元素

screen X/Y 相对于物理屏幕/显示器的左上角

这就是为什么你在这里有所不同

var mousex=event.clientX;
var mousey=mainEvent.screenY; 

两者都使用 clientX

于 2013-09-13T05:31:49.180 回答