javascript - Fancybox won't close when click spans -
i want fancybox close when either of spans clicked, seems reopening window after clicked , clicking anywhere else closes should.
<div class="fancybox" style="display: none;"> <span class="chooseenglish">english</span> <span class="choosecymraeg">cymraeg</span> </div> $(".fancybox").fancybox({ closeclick: true }); $( ".fancybox" ).trigger( "click" ); $( ".chooseenglish" ).click(function() { $.fancybox.close(); }); $( ".choosecymraeg" ).click(function() { $.fancybox.close(); }); thanks
alex
the issue selector .fancybox bound fancybox but it's content of fancybox. in other words, selector both trigger , target of fancybox.
of course, click on selector and/or contents (your <span>) trigger fancybox on over again.
you need selector fire fancybox (that can hidden if prefer so) :
<a href="#fancybox" class="fancybox" style="display: none;"><a> then change div selector class id can targeted link :
<div id="fancybox" style="display: none;"> <span class="chooseenglish">english</span> <span class="choosecymraeg">cymraeg</span> </div> and simplified script :
$(".fancybox").fancybox({ closeclick: true }).trigger("click"); // can chain fancybox , trigger methods $(".chooseenglish, .choosecymraeg").click(function () { $.fancybox.close(); }); // bind same click event both selectors @ once see jsfiddle
note: if want prevent visitor closing fancybox without choosing of (<span>) options, can add modal:true instead :
$(".fancybox").fancybox({ // force close clicking on span modal: true }).trigger("click"); see forked jsfiddle
Comments
Post a Comment