js怎么获得鼠标当前坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么获得鼠标当前坐标相关的知识,希望对你有一定的参考价值。

我有一段js需要获得当前的鼠标坐标,
不需要变化,只需要显示当前的鼠标位置即可,该怎么获取?
要直接可以用的数值,直接可以引用。
用document.writeln就可以直接打印出来那种

吸使用以下几种方式获取:
1.PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
2.clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化.
可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法
PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
3.screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)
4.offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值
5.
layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点

chrome和safari一条龙通杀!完全支持所有属性.其中(offsetX和layerX都是以border为参考点)

下面这个是获取相对于屏幕的坐标
document.onmousemove=function(e)e=e? e:window.event;document.writeln("X:"+e.screenX+"Y:"+e.screenY);
参考技术A

1、屏幕位置

function getMousePos(event)

var e = event || window.event;

return 'x':e.screenX,'y':screenY

2、浏览器窗口

function getMousePos(event)

var e = event || window.event;

return 'x':e.clientX,'y':clientY

3、文档

function getMousePos(event)

var e = event || window.event;

var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;

var scrollY = document.documentElement.scrollTop || document.body.scrollTop;

var x = e.pageX || e.clientX + scrollX;

var y = e.pageY || e.clientY + scrollY;

//alert('x: ' + x + '\\ny: ' + y);

return 'x': x, 'y': y ;

参考技术B 追问:可不可以打印到指定位置?

QT中如何获取QTableView当前行的坐标

因为需要不是用鼠标来点击的,而是用键盘操作的,所以需要获得当前qtableview中被选中那行的坐标,但是在QTableView中没有发现这类方法,有其他的办法获取吗?或者本来就没有办法获取

参考技术A The method selectionModel() return a QItemSelectionModel.
You can use QItemSelectionModel class to check/change/other selection(s)
Example:
QItemSelectionModel *select = yourTableview->selectionModel();
select->hasSelection() //check if has selection
select->selectedRows() // return selected row(s)
select->selectedColumns() // return selected column(s)

Example:
QModelIndexList indexList = yourTableView->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList)
row = index.row();
....
追问

但是我要的是坐标QPoint

以上是关于js怎么获得鼠标当前坐标的主要内容,如果未能解决你的问题,请参考以下文章

js如何获取鼠标在某元素移动时~鼠标指针在元素中的坐标?

js获取鼠标距离

html,js如何获取当前鼠标位置

delphi获得当前鼠标坐标

QT中如何获取QTableView当前行的坐标

JS拖动滑块验证