gpt4 book ai didi

javascript - document.elementFromPoint 速度慢

转载 作者:行者123 更新时间:2023-11-29 21:02:03 28 4
gpt4 key购买 nike

我在一个项目中使用 document.elementFromPoint,它看起来很慢。 100,000 次迭代需要 7051 毫秒。 document.getElementsByTagName("*") 的 100,000 次迭代只需要 32 毫秒。为什么 document.elementFromPoint 慢了 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();

最佳答案

DOM的作用 elementFromPoint 给定的2个点得到topmos需要循环所有DOM标签内同一个元素的多个点,最后找到点周围的元素x,y 我们之间的topmos。

更多信息在这里:https://drafts.csswg.org/cssom/#documentlayout-elementfrompoint

document.getElementsByTagName("*")只在标签html上循环(html - head - body - div - ul - li - dt - span - input ...)比 elementFromPoint 快得多。问候

关于javascript - document.elementFromPoint 速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045706/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com