我有一台2D激光扫描仪放在计算机屏幕的前面。目标是与Web应用程序和小型游戏(例如乒乓球,水果忍者等)进行交互,仅使双手悬空。
在使用Python网络服务器处理完所有激光测量之后,我在javascript代码中获得了与“虚拟光标”(不是鼠标)相对应的像素中X和Y的准确位置。我还有一个小型Web应用程序,具有多个链接和可能的操作。现在,我正在尝试模拟诸如mouseenter,mouseleave,clicks等事件以与页面进行交互。
通过此简单的javascript函数,我可以轻松地将HTML元素定位在给定的X和Y位置:
var element = document.elementFromPoint(x, y);
现在我的问题是,实现“悬停”功能的最佳和最简便的方法是什么?
谢谢
答案 0 :(得分:0)
您将要检查鼠标的当前状态是否已从其先前状态移开。为此,您需要存储其先前的x和y坐标,然后查看一段时间后鼠标是否在某个阈值以下保持静止。
setInterval(hoverCheck, 500);
let previousX = null;
let previousY = null;
function hoverCheck() {
let thr = 50; // 50 pixel threshold
if (abs(previousX - x) < thr && abs(previousY - y) < thr) {
let element = document.elementFromPoint(x, y);
// Do hover stuff with element
}
previousX = x;
previousY = y;
}