2009-12-18 4 views
0
document.getElementById(Iframe_id).contentWindow.addEventListener("blur", blurtest, true); 

En utilisant cette ligne, j'ai donné l'événement de flou à iframe. ça fonctionne.Comment obtenir l'ID de iframe

Mais Lorsqu'en

function blurtest(e) 
{ 
    alert(e.target.id); 
} 

alerte est utilisé, mais il donne une valeur comme Undefined.In d'autres événements, il travaille. Alors Comment obtenir l'id de iframe dans cette fonction de flou ?.

+0

Vous devez ajouter un attribut de nom à l'iframe, avez-vous fait cela –

Répondre

0

vous avez 2 façons, d'utiliser des fermetures de portée à retenir la variable au cours de mise en place:

var theID = Iframe_id; 
document.getElementById(Iframe_id).contentWindow.addEventListener("blur", function(){ blurtest(theID), true); 

ou en utilisant une bonne façon d'obtenir l'élément source d'un événement

function blurtest(e) 
{ 
    e = e || window.event; 
    var obj = e.srcElement ? e.srcElement : e.target; 
    alert(obj.getAttribute('id')); 
} 

bonne chance !

+0

Merci beaucoup. c'est vraiment une bonne solution. – Pranjali

+0

puis donnez-moi un clic,: D –

0

Essayez la variable automatique this. Il doit contenir l'élément sur lequel l'événement a été déclenché.

0

Lorsque vous chargez une page dans iFrmae, placez-la dans id de cette iframe. Donc, vous pouvez obtenir l'ID de i par "this.getElementsByTagName ('html') [0] .id;"

Questions connexes