ParentFull threadtreeface·Try jQuery's deferred events. It is, IMO, the most elegant actual-JavaScript solution to the problem I've seen.View on HN