やりたいことはマルチキャスト デリゲートと呼ばれ、複数の独立したハンドラーを同じイベントに割り当てます。以下のように JavaScript で記述できます。
function multicast(){
if (arguments == null || arguments.length == 0) return function(){ };
var fns = [], j = 0;
for (var i = 0; i < arguments.length; i++){
if (typeof(arguments[i]) == "function")
fns[j++] = arguments[i];
}
return function(){
for (var i = 0; i < fns.length; i++)
fns[i]();
};
}
次に、次のように呼び出します: (foo と bar は両方とも関数です)
window.onload = multicast(window.onload, foo, bar);
JQuery は必要ありません。これは厳密には JavaScript です。各関数は順次実行されますが、以前の関数呼び出しの戻り値 (存在する場合) とは無関係であることがわかります。
これについてのより完全な説明はDelphic Sageにあります。また、リンクされた記事の著者は、John Resig のチュートリアルLearning Advanced JavaScriptの功績を認めていることにも注意してください。
[編集] あなたの質問には何かが欠けていると思います。私がそれを読んだ方法は、これがあなたが求めていることをするはずです:(上記の関数multicast()を使用して)
$(#'foo').bind('bar',multicast(firstFunction, secondFunction);
これで、'bar' が発生すると firstFunction が実行され、その後すぐに secondFunction が実行され、firstFunction が「イベントをキャンセル」するかどうかに関係なく実行されます。