として関数パラメータとして渡された匿名関数を使用して、この最高のコード例で説明されるので、なぜ(専門用語では)誰もが説明することができ、テストに渡された匿名関数はjQueryの後に呼び出されません。イベントを隠す?jQueryの - jQueryのコールバック関数
UPDATE:この例ではこれが何を参照しているのかは重要ではありませんが、明確にするためにtest関数がグローバルスコープにあり、これがアンカー要素です。
test(this, function() {
alert('Called by anonymous function!');
});
function test(object, callback) {
$(object).hide('slow', callback);
}
変更:
$(object).hide('slow', callback);
へ:
$(object).hide('slow', callback());
作品。なぜなら、コールバックは現在のコンテキストまたはグローバルウィンドウオブジェクトの名前付き関数ではないからですか?
あなたは 'この' は特に何、より多くのコードを提供する必要があります。それとは別に、手動でハンドラを実行するのは間違っています。 – Bergi
あなたは、 ')' 'あなたのテスト()'コール – Joseph
に本当にこれが何であるかは重要ではありません表示されません。しかし、引数として、テスト関数はグローバルスコープにあり、これはアンカー要素を参照します。コールバック()を使用してハンドラを実行するのが間違っているのはなぜですか?匿名関数への参照を単にjQuery .hide()へのコールバックとして渡すだけでは、実行されません。 – Matt