Quoto Vindav, buona la sua soluzione, risolve il problema.
Premetto che non uso fancybox ma inizio ora a capire come funziona, quindi mi aggancio all'argomento per includere alcune cose.
Il problema riscontrato da Vincent è dovuto al fatto che lo stesso elemento che è stato specificato come "contenuto", del fb, risulta essere anche l'elemento che fa da "trigger" (cioè che innesca l'apertura del fb stesso). Per tale motivo al click, su tale elemento, viene aperto il fb che mostra quello stesso elemento.
Ora, per avviare l'apertura automatica del fb, viene utilizzato il trigger sul click di tale elemento. Per cui, il fb si apre mostrando l'elemento in questione. Qui si presenta il problema... cliccando su qualsiasi punto di tale elemento viene innescata nuovamente l'apertura del fb stesso. Questo inibisce quindi qualsiasi interazione su qualsiasi altro elemento figlio dell'elemento in questione.
La questione si risolve quindi slegando l'elemento "contenuto" dall'elemento "trigger".
Come indicato sull'esempio di Vindav, si utilizza un elemento <a> (il trigger) in cui, per l'attributo href, viene specificato il riferimento id dell'elemento da mostrare sul fb (il contenuto).
Si veda "Inline content" al punto 4 sulla documentazione http://fancybox.net/howto.
Riporto qui l'esempio indicato:
codice:
<a id="inline" href="#data">This shows content of element who has id="data"</a>
<div style="display:none"><div id="data">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div></div>
Nel nostro caso specifico però il tag <a> ci servirà solo come elemento fittizio per avviare il fb in automatico, ovvero rendendolo nascosto con display:none e forzandone l'innesco del click col trigger('click') (si veda l'esempio di Vindav).
Chiarito il punto, suggerisco un ulteriore accorgimento per snellire ulteriormente il codice.
Anziché indicare il tag <a> sul codice html, è possibile creare l'elemento fittizio al volo via jQuery e quindi innescarne il click, con una cosa del genere:
codice:
$("<a href='#idContenuto'>").fancybox().click();
La mia è giusto un'idea.
Una soluzione simile può essere quella di specificare il contenuto del fb passandolo all'attributo content in questo modo:
codice:
$("<a>").fancybox({content:$("#idContenuto")}).click();
O, analogamente, è possibile anche creare il contenuto al volo:
codice:
$("<a>").fancybox({content:"<div>contenuto del fancybox</div>"}).click();