Не работает обработчик закрытия lightbox

280
09 августа 2017, 22:06

Это Lightbox, рядом с большим изображением есть кнопка, при клике на которую Lightbox скрывается, но почему-то не работает обработчик на кнопку.

$(document).ready(function (){   
   $('.lightbox_trigger').click(function(e) {
        e.preventDefault();
        var image_href = $(this).attr("href");
        if ($('#lightbox').length > 0) {
            $('.wrap').html('<img src="' + image_href + '" />');
            $('#lightbox').show();
        }
        else { 
            var lightbox = 
            '<div id="lightbox">' +
                                    '<div class="wrap">' +
                    '<img src="' + image_href +'" />' +
                        '</div>'+ '<button id="close">Закрыть</button>' +
            '</div>';
            $('body').append(lightbox);
        }
    });
    $('#close').bind('click', function() {
        $('#lightbox').hide();
    });
        });
Answer 1

Если правильно понял, вроде работает:

$(document).ready(function (){    
   $('.lightbox_trigger').click(function(e) { 
        e.preventDefault(); 
        var image_href = $(this).attr("href"); 
 
        if ($('#lightbox').length > 0) { 
 
            $('.wrap').html('<img src="' + image_href + '" />'); 
 
            $('#lightbox').show(); 
        } 
 
        else {  
            var lightbox =  
            '<div id="lightbox">' + 
                                    '<div class="wrap">' + 
                    '<img src="' + image_href +'" />' + 
                        '</div>'+ '<button id="close">Закрыть</button>' + 
            '</div>'; 
 
            $('body').append(lightbox); 
        } 
 
    }); 
    $(document).on('click','#close', function(){ 
        console.log(true); 
        $('#lightbox').hide(); 
    }); 
});
.lightbox_trigger{ 
    height: 100px; 
    width: 100px; 
    background-color: gray; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="lightbox_trigger"> 
     
</div>

READ ALSO
Событие &ldquo;Resize()&rdquo; срабатывает на телефоне даже если просто прокручивать страницу

Событие “Resize()” срабатывает на телефоне даже если просто прокручивать страницу

ЗдравствуйтеНа сайте есть галерея, которая берет нужное количество картинок в зависимости от размера экрана

303
Как в input вставить данные value, как у &lt;select&gt;?

Как в input вставить данные value, как у <select>?

Хочу уйти <select> и перейти на input autocomplete

278
Почему не работает скролл элемента?

Почему не работает скролл элемента?

Работаю с данной компонентойВсе отрисовывается хорошо, выделение итемов работает,но почему-то нет скролла

350