dependiendo como enlaces la funcion al evento, si lo haces a traves de javascript no creo que hay forma de capturar lo que devuelve una funcion cuando ésta es asignada a un evento. o sea, lo devuelto por la funcion se perderá. lo que si puedes hacer es crear una funcion anonima y dentro de esta invocas la funcion y haces el resto de lo que necesites para capturar el array en una variable o algun otro contenedor.
Código:
element.event = function(){
bar = foo();
}