我正在尝试用python flask
框架和vanilla JS
制作一个动态加载图片的图库应用程序。另外,我制作了一个完整的图片查看器,所以当你点击一张图片时,它会以更大的比例打开。
当我第一次打开页面时,一切正常。但是当加载新图像时,触发完整查看器的event
在图库中的所有图像上都被删除了。
原因是什么?
这是代码。
Python。正在发送图像列表url:
@app.route('/loadmore', methods=['GET'])
def load_more():
return jsonify(get_images(5))
JS. XMLHttpRequest获取图像的URL:
function loadMore() {
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && xhr.status == 200) {
addImages(xhr.responseText);
}
};
xhr.open("GET", "/loadmore", true);
xhr.send();
}
JS.向HTML添加新图像:
function addImages(paths) {
let images = document.getElementById("images");
paths = JSON.parse(paths);
paths.forEach((path) => {
images.innerHTML += `<img class="grid-image" src="static/images/${path}">`;
});
}
2条答案
按热度按时间qhhrdooz1#
解决方案之一:每次加载新图像时,添加事件侦听器。
向HTML添加新图像
添加事件侦听器
jecbmhm32#
您可以在每个
img
标签上添加event
。