2017-04-20 69 views
0

這可以通過使用匿名函數輕鬆實現,但是有沒有更好的方法使用jQuery .on()方法通過命名函數傳遞數據?使用jQuery .on()方法通過命名函數傳遞數據方法

$('#browser .next').on('click', function() { 

    APP.search.page('next'); 

}); 

但是從事件中刪除匿名函數是很困難的。

當使用命名函數時,我可以通過首先傳遞事件然後訪問事件中的數據(event.data.page)來訪問數據,但這會導致函數中出現一些亂七八糟的代碼。

$('#browser .next').on('click', { page: 'next' } , APP.search.page); 

有沒有更好的方式來傳遞數據,而不必通過事件來訪問它可以在匿名函數來實現?

+0

您可以用'$(本)',如果你使用一個名爲任何類型的數據功能肯定 –

回答

0

您可以使用綁定方法

$('#browser .next').on(
    'click', 
    APP.search.page.bind(APP.search.page, 
    'next') 
); 

您可以通過作爲參數

$('#browser .next').on(
    'click', 
    APP.search.page.bind(APP.search.page, 
    {some: 'value'}) 
);