0

有没有办法定位滑块中img显示的内容?lightgallery.js

下面这个JS有 3 个没能得到一个简单的console.log();

var $lg = $('#mosaic');
$lg.lightGallery({thumbnail: false, addClass: 'imgGallery'});

$('.imgGallery img').click(function() {
     console.log('click'); // fail
});
$('img.lg-object.lg-image').click(function() {
     console.log('click'); // fail
});
$('div.lg-img-wrap img').click(function() {
     console.log('click'); // fail
});

JSFIDDLE

4

1 回答 1

1

具有点击事件的img元素不在.imgGallerydiv 内。他们实际上在里面#mosaic。如果您将该选择器更改为$('#mosaic img')您已准备好使用该选择器。

至于其他两个,这些元素是动态创建的,因此在您尝试绑定单击事件时它们不存在。您想要的是单击委托,以便您将单击事件绑定到外部元素,但在子元素上拦截它。因此,围绕所有内容创建一个包装器(或者如果不可能,则绑定到主体)

$('body').click('img.lg-object.lg-image', function(e) {
 console.log('click'); // success
 console.log(this); // body (element to which the event is bound)
 console.log(e.target); // img.lg-object.lg-image (element that received the click)
});
于 2018-05-17T17:37:34.373 回答