【发布时间】:2020-07-31 13:16:50
【问题描述】:
我正在向有图像的 HTML 动态添加内容。按照设计,我不知道添加内容时的实际图像数据,但我正在使用 JS 检索这些数据。我需要一个触发检索此内容的函数的事件。到目前为止,我已经使用 hack 实现了这一点:
<img src="_" onerror="loadImage(this)" data-id="1"/>
<img src="_" onerror="loadImage(this)" data-id="2"/>
<img src="_" onerror="loadImage(this)" data-id="3"/>
每张图片都无法加载src="_"属性并触发onerror句柄。
我的问题是如何避免触发onerror 事件并通过更合适的事件调用loadImage。我正在寻找每个人的事件img。
更新:不要认为这是一个简单的问题。图片是从 C++ 代码动态添加到 QWebView 中的。没有可以使用任何 URL 访问的实际图像,但我将它们作为字节数组从数据库中检索(也来自 C++ 代码)。我正在从 JS 函数 loadImage 访问 C++ 代码。我不能使用window.onload,因为图像是在主页已经加载时随机添加的。
【问题讨论】:
-
那个链接没有回答我的问题。
-
为什么需要活动?负责将这些元素添加到 DOM 的代码当然也可以同时执行
loadImage。询问了解 QWebView 的人如何做到这一点,而不是搜索 hack。 -
有一种方法可以检测添加到 DOM 中的内容,称为
MutationObserver。 -
不,从 HTML 处理它绝对是 hack。如果您可以控制插入的内容,那么您也应该对插入做出反应,不要要求无关的事情为您做。
标签: javascript html image events