次のように、jQueryのホバーの引数として2つの匿名関数を渡します。
$('element').hover(
function() {
// do stuff on mouseover
},
function() {
// do stuff on mouseout
}
);
たった1つで簡単です– hover ->
–しかし、CoffeeScriptの2つの適切な構文は何ですか?私は試した ...hover ->
、...hover( ->...
などですが、上記の構造は得られません。
無名関数を括弧で囲んでください。
問題は、単一行コメント//
の使用にあると思います。 /* .. */
で囲まれた単一行コメントは正常に機能するようです。これは、コメント以外のものを使用した同等の例です。
$('element').hover(
-> console.log("first")
-> console.log("second")
)
または、/* .. */
を使用したコメント付き。
$('element').hover(
-> /* first */
-> /* second */
)
Try CoffeeScript タブでこれらの例を試すことができます。 CoffeeScriptは、関数の最後の式を返すreturnステートメントを追加します。何もせず、最後にreturn
を含まない必要最小限の関数が必要な場合は、次のことを試してください。
$('element').hover(
() ->
() ->
)
// $('element').hover(function() {}, function() {});
もう1つの方法は、呼び出し元の関数の後にbackslashを使用することで、コンマを正しくインデントする必要があります。
$('element').hover \
-> # do stuff on mouseover
,
-> # do stuff on mouseout
括弧またはバックスラッシュなし:
f ->
0
, ->
1
1.7.1の出力:
f(function() {
return 0;
}, function() {
return 1;
});