Javascript document.element起点速度较慢
我正在一个项目中使用Javascript document.element起点速度较慢,javascript,performance,element,point,Javascript,Performance,Element,Point,我正在一个项目中使用document.elementFromPoint,它看起来非常慢。100000次迭代需要7051毫秒。文档的100000次迭代。getElementsByTagName(“*”)只需要32毫秒。为什么document.element frompoint的速度要慢200多倍?有没有更快的替代方案 function elementFromPointSpeed() { start=performance.now(); for(var i=0;i<100000;i
document.elementFromPoint
,它看起来非常慢。100000次迭代需要7051毫秒。文档的100000次迭代。getElementsByTagName(“*”)
只需要32毫秒。为什么document.element frompoint
的速度要慢200多倍?有没有更快的替代方案
function elementFromPointSpeed() {
start=performance.now();
for(var i=0;i<100000;i++)
el=document.elementFromPoint(100,100);
//el=document.getElementsByTagName("*");
end=performance.now()
console.log(end-start)
}
elementFromPointSpeed();
函数元素fromPointSpeed(){
开始=性能。现在();
对于(var i=0;iDOM elementFromPoint 2点的函数,获取topmos需要在所有DOM标记中围绕同一元素的多个点循环,并最终找到点周围的元素,这些点是我们之间的topmos
更多信息请点击此处:
标签html(html-head-body-div-ul-li-dt-span-input
上的document.getElementsByTagName(“*”)
仅循环一次)
比elementFromPoint快得多。
问候感谢您解释它是如何工作的。有没有其他更快的方法?我的问题是,使用此功能有什么特别的原因?可能是替代方法取决于您希望在您的上下文中得到什么结果。问候。