2016-07-27 1 views
1

J'ai ajouté un bouton de sous-titrer Lightbox2:événement Click ne se déclenche pas pour le bouton dans Lightbox2 légende

<a href="link-to-img" data-lightbox="gallery" data-title=" 
    <div class='popup-button-container'> 
    <button class='order-button'>Order now</button> 
    </div>"><img src="img.jpg"> 
</a> 

Le bouton est vsible mais lorsque je tente de faire fonctionner onclick, il ne fonctionne pas:

$(document).on("click", ".order-button", function(e){ 
    e.preventDefault(); 
    console.log('Button clicked'); 
    $('#popup1').bPopup({ 
     speed: 850, 
     transition: 'slideDown', 
     modalColor: '#000000', 
     opacity: 0.5 
    }); 
    return false; 
}); 

Le même code fonctionne pour tout élément de classe order-button en dehors du contenu de la visionneuse.

+0

Est-ce que votre contenu est ouverture dans Lightbox iframe? Je pense que oui. C'est pourquoi js ne fonctionne pas – SeeTheC

+0

Votre code HTML contient des erreurs. Avez-vous également débogué votre code? –

+0

@SeeTheC Non. Il n'y a pas d'iframe dans les outils de développement. – Julia

Répondre

1
<a href="link-to-img" data-lightbox="gallery" data-title=" 
    <div class='popup-button-container'> 
    <button class='order-button'>Order now</button> 
    </div>"><img src="img.jpg"> 
</a> 

Vous écrivez ci-dessous le code est données titre.

<div class='popup-button-container'> 
     <button class='order-button'>Order now</button> 
     </div> 

qui est rendu après

$ (document) .on.

donc nous assignons l'événement lorsque la visionneuse a été rendu i.e. titre est rendu

+1

Remerciez: D '$ changé (document) .on (» cliquez sur "," .order-button ", fonction (e) {' to '$ (". lightbox "). on (" clic "," .order-button ", fonction (e) {' et maintenant ça marche! – Julia