2010-03-14 5 views

risposta

19

Il method described here è vivere-bind all'evento click sugli elementi che vi interessano (come .colorbox in questo caso) e chiamare la funzione di libreria colorbox nel gestore:

$('.colorbox').live('click', function() { 
    $.colorbox({href:$(this).attr('href'), open:true}); 
    return false; 
}); 
+0

Grazie, questo è esattamente quello che volevo! –

+0

grazie.); mancante si prega di modificare –

17

È potrebbe anche provare questo:

$('.colorbox').live('click',function(e){ 
    e.preventDefault(); 
    $(this).colorbox({open:true}); 
}); 

Penso che sia un po 'più pulito quindi utilizzando il comando fn.

+1

Questa è una soluzione più pulita – palmic

+0

Grazie a voi, questo ha funzionato per me - usando $ (questo) è stato in grado di fornire colorbox con le informazioni dell'immagine contenute nel link, mentre la soluzione di Sunburst ha semplicemente aperto una colorbox senza stile e vuota. – Tapefreak

4

Questo post è vecchio, ma questo potrebbe aiutare gli altri: soluzione simonthetwit è ok, ma è necessario fare clic sul collegamento grilletto due volte. Colorbox può essere chiamato direttamente, quindi dovrebbe funzionare:

$('.colorbox').live('click',function(e){ 
     e.preventDefault(); 
     $.colorbox({open:true}); 
     //inline example 
     //$.colorbox({inline:true, width:"50%", href:"#inline_content"}); 
}); 

Cheers!

12

Come vivo sono ammortizzati, si dovrebbe usare su

$('body').on('click', '.colorbox', function() { 
    $('.colorbox').colorbox({rel: $(this).attr('rel')}); 
}); 

Questo codice consente anche di raggruppamento.

1

qui era la soluzione che ho trovato per evitare il bisogno di cliccare due volte sul collegamento per generare l'evento:

$(document.body).delegate('.<my-class>', 'click', function(e) { 
    e.preventDefault(); 
    $('.<my-class>').colorbox({<my-code>}) 
}); 
Problemi correlati