2012-06-25 16 views
7

Sto tentando questo CoffeeScript:CoffeeScript e jQuery concatenamento

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

Sto cercando di trovare un modo di fare uso di trattini in modo che qualcosa di simile a quanto segue restituirà ciò che è su:

$ element 
    .mousedown aFunction 
    .mouseup anotherFunction 

Ma senza alcun risultato, ci sono tutte le raccomandazioni per il concatenamento in CoffeeScript?

+2

possibile duplicato di [Coffeescript - Concatenamento del metodo con argomenti della funzione] (http://stackoverflow.com/questions/5144191/coffeescript-method-chaining-with-function-arguments) –

risposta

12

Sono sicuro che non si desidera utilizzare le parentesi, ma ...

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

compila in

$("#element").mousedown(aFunction).mouseup(anotherFunction); 
+0

Penso che questa sia la soluzione corretta al momento, anche se questo problema [ha] (https://github.com/jashkenas/coffee-script/issues/1495) [stato] (https://github.com/jashkenas/coffee-script/issues/1407) [ sollevato] (https://github.com/jashkenas/coffee-script/issues/1889) [molti] (https://github.com/jashkenas/coffee-script/issues/944) [times] (https://github.com/jashkenas/coffee-script/issues/2114) a [GitHub di CoffeeScript] (https://github.com/jashkenas/coffee-script), quindi un po 'di supporto per questo tipo di nidificazione potrebbe venire in futuro = D – epidemian

1

Per tutti gli altri lettori veloci là fuori, ecco la risposta aggiornata di a paid nerd dato here.

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

... compila a:

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

Sembra mus is too short suggerito in un commento sopra pure.

Problemi correlati