Javascript event.clientX和event.clientY与event.x和event.y

Javascript event.clientX和event.clientY与event.x和event.y,javascript,performance,coordinates,var,Javascript,Performance,Coordinates,Var,检测鼠标x和y坐标时,最好使用event.clientX和event.clientY,如下所示: function show_coords(event){ var x=event.clientX; var y=event.clientY; alert("X coords: " + x + ", Y coords: " + y); } function show_coords(event){ var x=event.x; var y=event.y; alert("X c

检测鼠标x和y坐标时,最好使用event.clientX和event.clientY,如下所示:

function show_coords(event){
  var x=event.clientX;
  var y=event.clientY;
  alert("X coords: " + x + ", Y coords: " + y);
}
function show_coords(event){
  var x=event.x;
  var y=event.y;
  alert("X coords: " + x + ", Y coords: " + y);
}
或者使用x和y,如下所示:

function show_coords(event){
  var x=event.clientX;
  var y=event.clientY;
  alert("X coords: " + x + ", Y coords: " + y);
}
function show_coords(event){
  var x=event.x;
  var y=event.y;
  alert("X coords: " + x + ", Y coords: " + y);
}

一种方法比另一种好/快吗?它们的工作原理似乎与我相同。

我想event.x/y只在IEs中定义。引用IE文档:

event.clientX
:检索鼠标光标相对于窗口工作区的x坐标,不包括窗口装饰或滚动条

event.x
:检索鼠标光标相对于父元素的x坐标。”


正如普特凡德所说,
clientX
可能也不会跨浏览器
pageX/Y
可能是一个更安全的选择。

clientX
更适合跨浏览器,但仍然不适用于所有浏览器(如FireFox)。
event.x
在W3C工作草案中指定,但在许多浏览器中不受支持?你最好使用
clientX
,或者其他任何一种,
offsetX
pageX
等等。
clientX
是目前推荐的标准。