1

.ready() イベントでインライン関数の myFunction を表示するにはどうすればよいですか?

$(document).ready(function() {
  ...stuffs...
  myFunction(par1, par2, anotherFucntion_callback);
 }
);

function anotherFunction_callback(data) {
 ..stuffs..
}
4

2 に答える 2

1

私はあなたの質問をよく聞き取れませんでした。次の最後の引数として「myFunction_callback(data)」を渡したいということですか。

myFunction(par1, par2, anotherFunction_callback);

、その「データ」パラメーターを含めて?

その場合、ソリューションは非常に標準的であり、その前にこれを記述します。

var temp = function() { anotherFunction_callback(data) };

別の構文は次のとおりです。

function temp() { myFunction_callback(data) };
// even though this looks just like a free function,
// you still define it inside the ready(function())
// that's why I call it "alternative". They are equivalent.

一般に、1 つ以上の引数を持つ関数を別の関数に渡したい場合は、その形式を使用します。ここでは、基本的に、別の関数を呼び出す引数なしの新しい関数を作成します。新しい関数は、「データ」変数にアクセスできます。これは「閉鎖」と呼ばれます。詳細については、こちらを参照してください。もちろん、コールバックが引数を必要としない場合は、元の関数名をそのまま使用できます。

これが役立つことを願っています。

ps: 次のように、関数宣言をインライン化して匿名にすることもできます。 myFunction(par1, par2, function() { myFunction_callback(data) }); 注意してください

$(document).ready(function() {});

それとほとんど同じように見えます。

于 2009-04-27T07:43:25.680 に答える
1

またはmyFunction_callbackの代わりに、関数の実際の名前を使用します。myFunctionanotherFucntion_callback

于 2009-04-27T07:28:25.047 に答える