2012-09-25 60 views
0

我已經從CoffeeScript中產生具有以下功能:的CoffeeScript重寫功能

$("#user-tabs ul").idTabs({ 
    click: function(id, all, container, settings) { 
     alert(id); 
    } 
}); 

所以,我得到了以下的CoffeeScript寫:

$("#user-tabs ul").idTabs -> 
    click: (id, all, container, settings) -> 
     alert(id) 
     return 

但它不工作。在輸出(.js文件)我有以下生成代碼:

$("#user-tabs ul").idTabs(function() { 
    return { 
    click: function(id, all, container, settings) { 
     alert(id); 
    } 
    }; 
}); 

於是,點擊功能編寫正確的,但它正被一些「函數返回」封裹。如何重寫它以達到所需的代碼(在頂部)?可能嗎 ?

謝謝!

+0

是不是' - >'在CoffeeScript中定義的功能呢?因此您在第一行中定義了它。嘗試改變它。 –

回答

1

只是縮進對象,不要使它成爲一個函數(->做什麼)。

$("#user-tabs ul").idTabs 
    click: (id, all, container, settings) -> 
     alert(id) 
     return 

See it

+0

我只能說:DOOOOOOH!那太簡單了。傻我!非常感謝! :P – Dmitri

1

降 - >這定義功能(你只是想呼叫吧):

$("#user-tabs ul").idTabs 
    click: (id, all, container, settings) -> 
     alert(id) 
     return 
+0

謝謝!現在我明白它是如何工作的 – Dmitri