2012-06-25 15 views
7

をチェーン:のCoffeeScriptとjQueryは私がのCoffeeScriptでこれをしようとしています

$(element).mousedown(aFunction).mouseup(anotherFunction); 

私は次のようなものは、およそ何返すようにインデントを利用する方法をうまくしようとしています:

$ element 
    .mousedown aFunction 
    .mouseup anotherFunction 

しかし、役に立つことはありませんが、コーヒーがけに連鎖するための推奨はありますか?

+2

[Coffeescript - 関数の引数を使用したメソッド連鎖]の複製が可能です(http://stackoverflow.com/questions/5144191/coffeescript-method-chaining-with-function-arguments) –

答えて

12

私はあなたが括弧を使用しないと確信している、しかし...

$("#element") 
    .mousedown(aFunction) 
    .mouseup(anotherFunction) 

そこにすべての他の迅速な読者のために
$("#element").mousedown(aFunction).mouseup(anotherFunction); 
+0

これは、この問題はありますが(https://github.com/jashkenas/coffee-script/issues/1495)[されている](https://github.com/jashkenas/coffee-script/issues/1407)[ (https://github.com/jashkenas/coffee-script/issues/1889)[多数](https://github.com/jashkenas/coffee-script/issues/944)[回](https:///github.com/jashkenas/coffee-script/issues/2114)[CoffeeScriptのGitHub](https://github.com/jashkenas/coffee-script)にあるので、この種のネスティングのサポートは将来行われる可能性があります= D – epidemian

1

にコンパイルし、ここで更新答えはですa paid nerdが与えられた。here

req = $.get('foo.html') 
    .success (response) -> 
    do_something() 
    .error (response) -> 
    do_something() 

は...にコンパイル:

var req; 
req = $.get('foo.html').success(function(response) { 
    return do_something(); 
}).error(function(response) { 
    return do_something(); 
}); 

mus is too shortが同様に上記のコメントでそれを示唆したように見えます。

関連する問題