Aggiunta del gestore eventi click all’iframe

Voglio gestire l’evento click su un iframe con un gestore che ottiene l’id iframe come parametro.

Sono in grado di aggiungere un gestore di eventi onClick tramite JavaScript come segue e funziona correttamente:

 iframe.document.addEventListener('click', clic, false); 

Ma in questo caso non riesco a passare un parametro a clic() . Ho provato a stampare this.id in clic() ma nessun risultato.

onClick attributo onClick HTML non funziona affatto, il gestore non viene chiamato.

    function def() { myFrame.document.designMode = 'on'; } function clic(id) { alert(id); }      

Puoi utilizzare le chiusure per passare i parametri:

 iframe.document.addEventListener('click', function(event) {clic(this.id);}, false); 

Tuttavia, ti consiglio di utilizzare un approccio migliore per accedere al tuo frame (posso solo supporre che tu stia usando il DOM0 per accedere alle windows frame con il loro nome – qualcosa che viene mantenuto solo per compatibilità con le versioni precedenti):

 document.getElementById("myFrame").contentDocument.addEventListener(...); 

iframe non ha un evento onclick ma possiamo implementarlo utilizzando l’evento onload di iframe e javascript come questo …

 function iframeclick() { document.getElementById("theiframe").contentWindow.document.body.onclick = function() { document.getElementById("theiframe").contentWindow.location.reload(); } }  

Spero ti sarà d’aiuto ….