图元加载的替代方案

Alternative to onload for elements

本文关键字:方案 加载 图元      更新时间:2023-09-26

是否有一个属性可以放置JavaScript,在浏览器完成元素解析后立即执行?

实际上,我希望有一个onload,并且能够将this作为参数传递给函数。

我发现的唯一解决方法是在元素上指定一个id,并在元素之后立即将其传递给函数(在SCRIPT标记中)。

我想要这个:

<div onload="doSomething(this);"></div>

取而代之的是:

<div id="myId"></div>
<script>doSomething("myId");</script>

此外,该解决方案应该是跨浏览器兼容的。

你不会公开承认这一点,但你想做这样的事情的唯一原因是为了迭代多个元素,并对所有元素执行相同的处理。如果是这样,你就走错了路。

只需给所有这些元素一个公共类,然后使用例如document.querySelectorAll来查找它们并执行您需要的操作。当body元素的load事件触发时,可以执行此操作。

对于正常的页面加载,我不认为有这样的粒度级别。您可以检测何时加载所有HTML,以及何时已完成所有渲染。大多数人只是在页面准备好后处理事情,然后依次迭代元素。