2010-03-14 10 views

Respuesta

19

El method described here es vivir-se unen al evento click en los elementos que le interesan (como .colorbox en este caso) y llamar a la función de la biblioteca colorbox en el controlador:

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

Gracias, eso es exactamente lo que quería! –

+0

agradable gracias.); falta por favor edite –

17

Usted también puede probar esto:

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

Creo que es un poco más limpio y luego usando el comando fn.

+1

Esto es una solución más limpia – palmic

+0

Gracias simonthetwit, esto funcionó para mí - utilizando $ (esto) fue capaz de proporcionar colorbox con la información de la imagen contenida en el enlace, mientras que la solución de sunburst meramente abrió un cuadro de color sin estilo y vacío. – Tapefreak

4

Esta publicación es antigua, pero esto puede ayudar a los demás: la solución simonthetwit está bien, pero deberá hacer clic en el enlace del activador dos veces. Colorbox se puede llamar directamente, por lo que debería funcionar:

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

¡Salud!

12

Como vivo se deprecia, se debe utilizar en

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

Este código también permite la agrupación.

1

Aquí fue la solución que encontré para evitar la necesidad de hacer clic dos veces en el enlace para desencadenar el evento:

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