Trigger events in iframe's parent window
The way events are tracked, you can only trigger or receive events on the same document.
try
window.parent.$(window.parent.document).trigger('complete');
You might try adding a triggering function in the parent document, then calling it as a regular function from the iframe. This should ensure you're triggering the event in the right document context.
// In Parent
function triggerComplete () {
$(document).trigger('complete');
}
// In iFrame
window.parent.triggerComplete();