Триггерные события в родительском окне iframe

Почему следующее не работает:

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

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

пока работает следующая работа:

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

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

?

Ответы

Ответ 1

Как отслеживаются события, вы можете запускать или принимать события только в одном документе.

попробовать

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

Ответ 2

Вы можете попробовать добавить функцию запуска в родительский документ, а затем вызвать его как регулярную функцию из iframe. Это должно гарантировать, что вы запускаете событие в правильном контексте документа.

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

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

Ответ 3

Проверить это решение, это очень сложно:

top.frames['frame_name'].document.getElementById('Processing').style.display = 'none';