js获取鼠标点击的位置常用的是 event.clientX和event.clientY分别获取横向的和纵向的位置,但仅使用这个方法是不够的,因为
event.clientX和event.clientY获取的鼠标位置是相对于当前屏幕的,而不考虑页面的滚动条所滚动的距离。对于这种情况可以使用以下方法(C来的-_-!):
- function pointerX()
- {
- return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
- }
- function pointerY()
- {
- return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
- }
两个方法分别获得相对整个页面(而不是屏幕)的鼠标位置
event.pageX是在FF中所支持的,这样就实现了跨浏览器操作
只需在其他方法中调用这两个函数就可
- function getPointPosition()
- {
- var x_px_scr = event.clientX;
- var y_px_scr = event.clientY;
- alert("相对于当前屏幕的X轴偏移量" + x_px_scr);
- alert("相对于当前屏幕的Y轴偏移量" + y_px_scr);
- var x_Px_page = pointerX();
- var y_Px_page = pointerY();
- alert("相对于整个页面的X轴偏移量" + x_Px_page);
- alert("相对于整个页面的Y轴偏移量" + y_Px_page);
- }