2016-09-12 55 views
0

從jQuery的方法on有不同的簽名:轉發參數的另一種方法

# Signature 1 
$('.container').on 'click', -> ... 
# Signature 2 
$('.container').on 'click', 'button', -> ... 

我建立一個類的方法,我想它的參數轉發到on方法,使用適當的簽名

obj = new MyObject $('.container') 

# Uses signature 1 
obj.on 'mouseenter', -> ... 
# Uses signature 2 
obj.on 'mouseleave', 'button', -> ... 

我到目前爲止建立的只使用第一個簽名。

class MyObject 
    constructor: (@el) -> 
    on: (event, callbacks) => @el.on event, callbacks 

我該如何修改我的類,以便它可以使用兩個簽名?

回答

-1

你可以做到這一點,通過使用「提示圖標」:

class MyObject 
    constructor: (@el) -> 
    on: (events..., last) => @el.on event, last for event in events 

這一個方法實際上將同時涵蓋這兩種情況。

相關問題