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

Jam*_*mes 5 javascript performance var coordinates

当检测鼠标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);
}
Run Code Online (Sandbox Code Playgroud)

或者使用 x 和 y,如下所示:

function show_coords(event){
  var x=event.x;
  var y=event.y;
  alert("X coords: " + x + ", Y coords: " + y);
}
Run Code Online (Sandbox Code Playgroud)

一种方法比另一种更好/更快吗?它们对我来说似乎工作方式相同。

Tee*_*emu 4

我猜 event.x/y 仅在 IE 中定义。引用 IE 文档:

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

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

正如 putvande 所说,clientX也许也不是跨浏览器的。pageX/Y可能是一个更安全的选择。