javascript - 如何从 html 元素中获取可点击点?
问题描述
如何从 HTML 元素中获取相对于屏幕的 x,y 坐标?我正在使用getBoundingClientRect()
下面的 x,y,但正如您在打击图像中看到的那样,如果我使用将光标移动到这个 x,y 位置,则光标位于 0 和 + 按钮之间的中间,而不是 5 按钮,这是目标按钮。我错过了什么?
JS代码:
var e = document.querySelector('input[id=five]');"
var r = e.getBoundingClientRect();
var x = r.x;
var y = r.y;
MoveMouseTo(x,y); // imaginary call, the real cursor move is done by C# but I can share the code, as needed.
图片:
注意:如果这个附加信息可能有帮助,它是一个带有嵌入式浏览器的 C# 应用程序。
解决方案
const getCoords = (e) => {
var x = e.clientX
var y = e.clientY
var xx = e.screenX
var yy = e.screenY
console.log(x, y, "client")
console.log(xx, yy, "screen")
}
您将要将此函数分配给onmousemove
包含计算器 UI 的最外层 div 的事件。这至少应该向您展示屏幕 X、Y 和客户端 X、Y 之间的区别
https://www.w3schools.com/code/tryit.asp?filename=FVXZOK1SPTR0
推荐阅读
- c - 错误:“#”后面没有宏参数
- mysql - MYSQL:自动从输入的日期中提取 YEAR 到另一列
- python - 使用pythonista通过appium通过电话打开应用程序
- mocking - 玩笑用 doMock 覆盖手动模拟覆盖不起作用
- javascript - 使用js在html onclick上发出休息请求
- mysql - 在 SQL 中连接两个字段
- java - 为什么即使我在请求期间向其中添加了元素,此代码也会显示一个空数组列表?
- html - 让 grid-row 覆盖 grid-template-rows
- android - 在同一网络上的不同设备上预览 Angular 应用程序时,如何向 Node.js 服务器发出请求不会失败?
- flutter - 如何从 api 打开链接的 web 视图?