Zajistěte, aby prvek iFrame spustil událost body.onclick

Mám skript, který připojuje funkci, která má být spuštěna pomocí document.onclick událost. Problém je, že stránka má v sobě iframe. Když uživatel klikne na prvek iframe, zobrazí se document.onclick událost nespustí funkci k ní připojenou. Dá se to nějak opravit? Ve vzácných případech může mít prvek iframe uvnitř také další prvek iframe, který musí také spustit událost.

Poznámka:Nepoužívám jQuery. Je to skvělý nástroj, ale není to optimální řešení tohoto celkového projektu.

Odpověď

Zkuste …

console.log(window.parent.document);

… z iFrame.

Pokud to funguje (vidíte to přihlášené v konzole firebug jako objekt), stačí najít prvek iframe a připojit k němu událost kliknutí.

var parent = $(window.parent.document);
// I'm using "iframe" but you'll need to find a more accurate selector.
$('iframe', parent).click(function(){
   alert('clicked');
});