使用jQuery .on()方法通过命名函数传递数据

时间:2017-04-20 23:25:01

标签: javascript jquery function variables

这可以通过使用匿名函数轻松实现,但是有更好的方法使用jQuery .on()方法通过命名函数传递数据吗?

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

    APP.search.page('next');

});

但是从事件中删除匿名函数很困难。

当使用命名函数时,我可以通过首先传递事件然后访问事件中的数据(event.data.page)来访问数据,但这会在函数中产生一些混乱的代码。

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

有没有更好的方法来传递数据而不必通过事件访问它,这可以在匿名函数中实现?

1 个答案:

答案 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'})
);