2012-06-20 26 views
6

Girando una didascalia in un link non funziona in ID 2.51 scaricato dal here
Ecco il codice:trasformando didascalia in un link non funziona in ID 2.51

<a href="images/examples/image-1.jpg" rel="lightbox" 
    title="&lt;a target='_self' href='http://www.google.com'&gt;Google&lt;/a&gt;"> 
    <img src="images/examples/thumb-1.jpg" alt="" /> 
</a> 

Cosa devo fare?
Grazie :)

risposta

1

provare a utilizzare JavaScript nel tag

onClick = " window.location.href = ' http://www.google.com ' "

Esempio

<a href="images/examples/image-1.jpg" rel="lightbox" 
    title="&lt;a target='_self' onClick=&quot;window.location.href=&#x27;http://www.google.com&#x27;&quot; href='http://www.google.com'&gt;Google&lt;/a&gt;"> 
<img src="images/examples/thumb-1.jpg" alt="" /> 
</a> 
11

Ho trovato una soluzione per questo problema nello lightbox.js. È necessario modificare il caso if, aggiungendo la condizione else che evita sempre di restituire false quando si fa clic su "lightbox" div.

$lightbox.hide().on('click', function(e) { 
    if ($(e.target).attr('id') === 'lightbox') { 
     _this.end(); 
     return false; 
    } 
    else { // HERE 
     return true; 
    } 
    }); 
+0

Questo metodo probabilmente funzionerà nella maggior parte dei casi, ma penso che potrebbe avere alcuni effetti collaterali involontari, perché influenzerà tutti i clic che si illuminano verso il lightbox. Ho aggiunto un intervento più limitato nella mia risposta di seguito, che registrerà solo un evento sui collegamenti all'interno della didascalia. – NateWr

0

Non riesco a ottenere nessuna delle risposte qui per funzionare per me. Tuttavia, ho trovato che Slimbox2 funziona ed è molto semplice da scambiare in quanto utilizza la stessa sintassi.

3

Ho trovato quello che penso sia una soluzione migliore rispetto a quelli elencati sopra utilizzando la versione 2.6 di Lightbox 2. On line 252 lightbox.js (unminified), vedrete questa linea che aggiunge la didascalia:

this.$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast'); 

Una volta aggiunto la didascalia, è possibile registrare l'evento click e forzare il browser a seguire qualsiasi link la didascalia con l'aggiunta sulla catena come questo:

this.$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast').find('a').on('click', function() { location.href = $(this).attr('href') }); 

ho avviato un pull request con questo cambiamento in modo da poter seguire lo stato e le eventuali ulteriori discussioni lì.