Очевидно, что события не распространяются по кадрам. Вот как я работаю над этим:
В родительском фрейме определите эту глобальную функцию:
var fireGlobalEvent = function (e, param) {
YUI().use('event-custom', function (Y) {
var publisher = new Y.EventTarget();
publisher.publish(e, {
broadcast: 2, // global notification
emitFacade: true // emit a facade so we get the event target
}).fire(param);
});
};
Тогда просто вызовите это у потомка, чтобы вызвать событие у родителя.
window.parent.fireGlobalEvent('my_custom_global_event', 'an_extra_param');
Затем событие перехватывается родительскими модулями с:
Y.Global.on('my_custom_global_event', function (e, param) {
// do something
});