我有些好奇,因为我知道HTMLCollections会自动更新,所以我尝试使用Proxy进行观察,如下所示。
let imagesCollection = document.images;
let io = new Proxy(imagesCollection, {
set: (target, prop, value, reciever) => {
// do stuff
// apply default behaviour
return Reflect.set(target, prop, value);
}
});
// test the block by adding new elements
document.body.insertAdjacentHTML("beforeend", "<img>");
document.body.insertAdjacentHTML("beforeend", "<img class='img'>");
document.body.insertAdjacentHTML(
"beforeend",
"<img class='img' src='https://picsum.photos/200/300'>"
);
但是当尝试动态添加一些图片时,没有任何反应...
所以我的问题是:
- 这是否可能?
- 如果是,我做错了吗?