Элементы img
, имеющие событие click, не находятся внутри элемента .imgGallery
.Они на самом деле внутри #mosaic
.Если вы измените этот селектор на $('#mosaic img')
, вы все настроены на него.
Что касается двух других, эти элементы создаются динамически, поэтому они не существуют в то время, когда вы пытаетесьсвязать события клика.Что вам нужно, так это делегирование кликов, чтобы вы связали событие click с внешним элементом, но перехватили его у дочернего элемента.Поэтому создайте обертку вокруг всего (или, если это невозможно, привязать к телу)
$('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)
});