Why is the following not working:
//iframe:
window.parent.$(document).trigger(\'complete\');
//parent window:
$(document).bind(\'complete\', function(){
a
Answering directly to OP's question: because there is a bug in the first code example.
You pass the iframe's document object to the parent's $ function. This does not make much sense.
Parent's jQuery instance can not trigger event on DOM object of other window;
Even if it could, it is an iframe's document, but you try to listen for the event on parent's document.
This would probably work:
window.parent.$(window.parent.document).trigger('complete');