Search code examples
jquerylightbox

Prevent lightbox closing when clicking on my own button


I am using SimpleLightbox v1.15.0 and want to be able to rotate images using a button. I have added a button to a downloaded demo page and (after much effort) have the button appear with the lightbox and disappear when closed.

I have written this underneath the existing function...

$('.theButton').click(function(){
    $('.sl-image').css({'transform':'rotate(90deg)'});
});

..to try and get the rotation working but as the div with class sl-image containing the image rotates, the lightbox fades out/closes. I want the lightbox to stay when this button is clicked.

Am I missing something?


Solution

  • I have discovered an answer to my own question. The associated javascript file has a small block of code that looks like this:

    // close on click on doc
    $( document ).on('click.'+prefix+ ' touchstart.'+prefix, function(e){
        if(opened){
            if((options.docClose && $(e.target).closest('.sl-image').length === 0 && $(e.target).closest('.sl-navigation').length === 0)){
                close();
            }
        }
    });
    

    I added

    $(e.target).closest('.theButton').length === 0
    

    to the inner most if statement and this seems to have stopped closing the lightbox when clicking on the button.