Here's what we finally settled on.
We already had an a4j:status
element that we were using to display the little spinner that displays while AJAX requests are being handled. We remap our controllers in the onstop element on the a4j:status
element.
<a4j:status onstop="alert('1');">
<f:facet name="start">
<div id="throbber" class="throbber-visible">Loading...</div>
</f:facet>
</a4j:status>