我在HTML文档中有一个点的坐标(X,Y)。如何确定这些坐标处的DOM节点?
一些想法:
(背景:我将Qt的QWebView嵌入 native 应用程序中。我试图根据鼠标悬停的DOM节点来更改Qt小部件提供的上下文菜单,但是Qt 4.5无法对DOM元素进行测试,尽管该功能将在4.6中提供。所以我希望可以将坐标转换为Javascript,然后使用DOM API进行匹配测试。)
谢谢!
最佳答案
只要您的用户没有使用旧版本的Safari,Chrome或Opera,您就很幸运:使用document.elementFromPoint(x, y)
(MSDN ref,Mozilla ref,QuirksMode article):
如果您需要支持较旧的浏览器,那么除了您建议的内容外,我不会想到许多其他选择(遍历整个DOM,查看元素的位置和大小,并查看其中是否包含您的(x,y))。
我认为事件模拟不会起作用,但这是一个有趣的想法。我对事件调度的理解是,您为事件指定目标,而这正是您首先要查找的目标。
关于javascript - 如何找到位于给定(X,Y)位置的DOM节点? ( HitTest ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1569775/