Joe*_*oel 6 javascript google-chrome
当文档加载时,如果该像素位于可见文档之外,为什么document.elementFromPoint(500,1000) 这里返回null?
我注意到document.elementFromPoint,对于最初在可见文档之外的任何点,以及在滚动到视图之后,返回null.
一种简单的测试方法是在Chrome中(ctrl-shift-i - > scripts - >'watch expressions')(确保页面高度缩小到小于1000像素)
编辑:所以它确实有意义,按照文档
我在两个假设上都失败了,
Ant*_*sov 42
所以你有点回答了你自己的问题:document.elementFromPoint在视口坐标而不是文档中工作.所以你需要做的就是添加一个滚动补偿.
以下代码为我解决了:
document.elementFromPoint(X - window.pageXOffset, Y - window.pageYOffset);
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在倾听以下事件:
document.elementFromPoint(e.pageX - window.pageXOffset, e.pageY - window.pageYOffset);
Run Code Online (Sandbox Code Playgroud)
当您指定窗口之外的点时,它不返回任何元素是有道理的。它返回此时可见的元素,而不是窗口大小不同时可见的元素。考虑到更改窗口的大小可能会导致元素移动,因此如果它确实返回可能在该点显示的元素,您将不会得到一致的答案。
无论您如何滚动窗口中的内容,窗口之外的点仍然位于窗口之外。
| 归档时间: |
|
| 查看次数: |
7091 次 |
| 最近记录: |