Question

Pourquoi les éléments suivants ne fonctionne pas:

//iframe:
window.parent.$(document).trigger('complete');

//parent window:
$(document).bind('complete', function(){
  alert('Complete');
});

alors que le suivant travaille:

//iframe:
window.parent.$('body').trigger('complete');

//parent window:
$('body').bind('complete', function(){
  alert('Complete');
});

Était-ce utile?

La solution

Les événements sont suivis chemin, vous pouvez ne déclencher ou recevoir des événements sur le même document.

essayer

window.parent.$(window.parent.document).trigger('complete');

Autres conseils

Vous pouvez essayer d'ajouter une fonction de déclenchement dans le document parent, puis l'appeler en fonction régulière de l'iframe. Cela devrait vous assurer le déclenchement de l'événement dans le bon contexte du document.

// In Parent
function triggerComplete () {
  $(document).trigger('complete');
}

// In iFrame
window.parent.triggerComplete();

Cochez cette solution, il est très délicat:

top.frames['frame_name'].document.getElementById('Processing').style.display = 'none'; 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top