如何在画廊的图像上添加单击事件侦听器,当它们是惰性加载时?



我正在使用光画廊JS的内联画廊,并试图在画廊的图像上添加单击事件侦听器。为此,我使用这个事件-lgAfterOpen

我不能得到所有的图像标签,因为图像是懒惰加载,使用这个lgAfterOpen事件,直到那时我只得到第一个图像加载在DOM。我应该如何保持延迟加载,也能够把事件监听器对画廊的所有图像?

我正在尝试的代码示例:

lgContainer.addEventListener('lgAfterOpen', function(e){
let images = document.getElementsByClassName('lg-object lg-image'); // expecting to return all images
for (image of images) image.addEventListener('click', function() { /* code here */ }) // geting only first image here. 
})

最后,我通过将事件侦听器添加到图像的父div -即带有.lg-item的div,因为我可以在加载图像之前在DOM中找到所有图像。我希望这将对某人有所帮助。

最新更新