【发布时间】:2017-04-01 07:18:11
【问题描述】:
我正在使用带有 jQuery 库的 JavaScript 来处理包含在无序列表中的图像缩略图。加载图像时,它会做一件事,当发生错误时,它会做另一件事。我使用 jQuery load() 和 error() 方法作为事件。 在这些事件之后,我检查 .complete 的图像 DOM 元素,以确保在 jQuery 注册事件之前图像尚未加载。
它可以正常工作,除非在 jQuery 注册事件之前发生错误。 我能想到的唯一解决方案是使用 img onerror 属性在全局某处存储“标志”(或者在它自己的节点上)说它失败了,所以jQuery可以在检查.complete时检查那个“存储/节点”。
谁有更好的解决方案?
编辑:粗体的要点并在下面添加了额外的细节: 在图像上添加加载和错误事件后,我正在检查图像是否完整(也称为加载)。这样,如果图像是在事件注册之前加载的,我仍然会知道。如果图像在事件之后没有加载,那么事件会在它加载时处理它。这样做的问题是,我可以轻松检查是否已经加载了图像,但 我无法判断是否发生了错误。
【问题讨论】:
-
什么时候注册 jQuery 事件?也许一些代码会有所帮助。 :)
-
代码很多,我上面说的只是我正在做的一个非常简单的版本。我在加载 DOM 后调用事件,调用方法将事件添加到缩略图。
标签: javascript jquery image dom jquery-events