我正在使用纯Javascript编写HTML调试器,并且在尝试模拟鼠标指针时遇到了障碍。我们的想法是将鼠标移动到" admin"页面和更改将反映在运行调试Javascript代码的客户端计算机上。我想"点击"在管理页面上,并定位客户端机器上的模拟游标所在的客户端DOM元素,用于css / remove操作。因此,我可以使用z-index,DOM顺序等计算图像下的哪个元素,但这会给客户端带来巨大负担,重点是尽可能保持此应用程序的精简程度。此外,浏览器已经在为鼠标进行这些计算,自己重写整个算法将是一种浪费(如果我有时间和耐心)。
是否有javascript功能或是否有特定于浏览器的API,我可以用它来确定哪个元素直接位于另一个元素下?
答案 0 :(得分:2)
document.elementFromPoint应该适合你。如果您想要(x,y)坐标处的所有元素,则有许多elementsFromPoint
的实现,例如https://gist.github.com/oslego/7265412
答案 1 :(得分:0)
我希望这会有所帮助。
document.body.addEventListener('mousemove', function (event) {
console.log(event.target);
event.target.style.backgroundColor = 'red';
}, false);