Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery.on()方法通过命名函数传递数据_Javascript_Jquery_Function_Variables - Fatal编程技术网

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

Javascript 使用jQuery.on()方法通过命名函数传递数据,javascript,jquery,function,variables,Javascript,Jquery,Function,Variables,这可以通过使用匿名函数轻松实现,但是有没有更好的方法使用jQuery.on()方法通过命名函数传递数据 $('#browser .next').on( 'click', function() { APP.search.page('next'); }); 但是从事件中删除匿名函数是困难的 当使用命名函数时,我可以通过首先传递事件,然后访问事件(event.data.page)中的数据来访问数据,但这会导致函数中的代码混乱 $('#browser .next').on( 'click'

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

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

    APP.search.page('next');

});
但是从事件中删除匿名函数是困难的

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

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

有没有更好的方法来传递数据,而不必像匿名函数那样通过事件访问数据?

您可以使用bind方法

$('#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'})
);
如果确实使用命名函数,则可以使用
$(this)