Javascript <;img/>;元素在添加图像时触发?

Javascript <;img/>;元素在添加图像时触发?,javascript,html,image,events,Javascript,Html,Image,Events,我正在动态地将内容添加到有图像的HTML中。根据设计,我不知道添加内容时的实际图像数据,但我正在使用JS检索这些数据。我需要一个事件来触发检索此内容的函数。到目前为止,我已经使用一个hack实现了这一点: <img src="_" onerror="loadImage(this)" data-id="1"/> <img src="_" onerror="loadImage(this)&qu

我正在动态地将内容添加到有图像的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=“\u8”
属性并触发
onerror
句柄

我的问题是如何避免触发
onerror
事件,并通过更合适的事件调用
loadImage
。我正在寻找每个人的事件
img


<强>更新:< /强>不要认为这是一个简单的问题。从C++代码到qWebVIEW中添加了图像<>强>动态<强>。没有任何实际的图像,我可以使用任何URL访问,但是我从数据库中检索它们作为字节数组(也从C++代码中检索)。我正在从JS函数<代码>访问程序> /COD>访问C++代码。我无法使用

窗口。onload
因为图像是在主页已加载时随机添加的。

您可以将图像文件存储到数组(列表)中。这段代码只是一个例子,它每两秒钟就会更改image.src,您可以根据需要使用函数来处理它

var列表=[
“image1.jpg”,
“image2.jpg”,
“image3.jpg”,
];
var i=0;
函数更改imgs(){
i++;
i==list.length?i=0:0;
var image=document.getElementById('image');
image.src=列表[i];
document.getElementById('imgLink').href=list[i];
}
setInterval(函数(){
changeImgs()
}, 2000);

window.onload=changeImgs加载占位符图像,然后挂接到
onload
事件

<img src="placeholder.jpg" onload="loadImage(this)" data-id="1"/>
<img src="placeholder.jpg" onload="loadImage(this)" data-id="2"/>
<img src="placeholder.jpg" onload="loadImage(this)" data-id="3"/>


> > p>您提到图像Src是C++代码访问的字节数组,可以直接在IMG<代码> SRC < /代码>中使用字节数组如下:



请检查此链接,该链接无法回答我的问题。为什么需要活动?负责将这些元素添加到DOM的代码当然也可以同时执行
loadImage
。询问那些了解QWebView的人如何做到这一点,而不是搜索黑客。有一种方法可以检测DOM的添加,它被称为。不,从HTML处理它肯定是黑客。如果你可以控制插入的内容,那么你也应该在插入时做出反应,不要问与你无关的事情。我需要每个图像都有一个单独的事件。我认为 StaseTime/Cux>比代码< >错误> /代码>更脏,您需要用ID获取每个图像元素,然后应用一个函数,接下来,我不能使用窗口的<代码> OnLoad < /Case>事件,因为我正在动态添加内容。
loadend
,您正在将
src
添加到
因此肯定会给您一个错误。相反,您可以放置一些虚拟图像,如
此图像正在加载
,或者是一种类似于
gif
的动画,当javascript加载图像时,可以使用占位符替换图像的
src
,这并不比触发错误更好(甚至更糟)。第二种方法根本不能回答我的问题,因为我在问如何触发函数。占位符图像通常用于延迟加载目的,当图像的实际源尚未准备好时,占位符图像才有意义。听起来好像C++代码是将图像元素插入页面,但是不知道代码< SRC>代码>应该是什么,这是正确的吗?在这种情况下,占位符image+
onload
是有意义的。根本没有URL。我将图像存储在数据库中并检索实际的字节数据,因此
src
属性是无用的。延迟加载是我使用
onerror
事件实现的,但在我的例子中,我不必将占位符存储为文件。由于WebKIT是同步的,占位符甚至是不需要的。这是一个很好的建议,但是让我们考虑一下,我想单独添加图像并将字节数组检索到不同的模块中。PS我想知道是谁和为什么否决了你的答案。。。