检测图像下载完成的最佳方法是什么 - onload或addEventListener()?

9 javascript

为了检测图像何时完成下载我应该使用哪种方法?

image.onload = function () {}
Run Code Online (Sandbox Code Playgroud)

要么

image.addEventListener("load", function () {} );
Run Code Online (Sandbox Code Playgroud)

jfr*_*d00 11

onload:

  1. 仅支持单个侦听器.
  2. 适用于所有浏览器.
  3. 您通过清除onload属性解除绑定事件处理程序.

addEventListener:

  1. 支持多个侦听器.
  2. 在较旧的IE浏览器中不起作用(他们使用attachEvent).
  3. 解除绑定侦听removeEventListener()器需要使用标识原始eventListener的信息.

如果addEventListener支持并且您只需要一个侦听器,那么您可以使用其中一个.

如果它是一个简单的自包含代码片段,那么没有其他人会搞乱,那么使用它就没有问题了onload.如果它是一个更复杂的软件,其他开发人员可能会搞乱,并且需要任何类型的可扩展性,并且您对事件监听器有跨浏览器支持,那么addEventListener()它就更灵活,可能更令人满意.