Javascript获取视口外点处的元素

Javascript获取视口外点处的元素,javascript,Javascript,是否有类似于document.elementFromPoint(x,y)的东西适用于视口之外的元素 根据document.elementFromPoint()的MDN文档() 如果指定的点位于文档的可见边界之外 或者坐标为负,则结果为空 因此,如果您试图获取用户视口之外的元素,显然是行不通的 谢谢 嘿,我也遇到了同样的问题,如果元素不在视口的当前边界内,elementFromPoint将返回null 我发现您必须滚动到元素位置,使其在视口中可见,然后执行elementFromPoint (fun

是否有类似于document.elementFromPoint(x,y)的东西适用于视口之外的元素

根据document.elementFromPoint()的MDN文档()

如果指定的点位于文档的可见边界之外 或者坐标为负,则结果为空

因此,如果您试图获取用户视口之外的元素,显然是行不通的


谢谢

嘿,我也遇到了同样的问题,如果元素不在视口的当前边界内,
elementFromPoint
将返回
null

我发现您必须滚动到元素位置,使其在视口中可见,然后执行
elementFromPoint

(function() {
  'use strict';
  var api;
  api = function(x,y) {
    var elm, scrollX, scrollY, newX, newY;
    /* stash current Window Scroll */
    scrollX = window.pageXOffset;
    scrollY = window.pageYOffset;
    /* scroll to element */
    window.scrollTo(x,y);
    /* calculate new relative element coordinates */
    newX = x - window.pageXOffset;
    newY = y - window.pageYOffset;
    /* grab the element */
    elm = this.elementFromPoint(newX,newY);
    /* revert to the previous scroll location */
    window.scrollTo(scrollX,scrollY);
    /* returned the grabbed element at the absolute coordinates */
    return elm;
  };
  this.document.elementFromAbsolutePoint = api;
}).call(this);
只要坐标与
pageX
pageY
绝对,就可以使用此命令

document.elementFromAbsolutePoint(2084, 1536);
这段代码也在GitHub上打包到bower组件中,以便于包含到项目中


希望这对您的项目有所帮助。

此功能请求作为(但5年内没有活动…)提交