回调的JQuery快捷方式,如function(){mycallback()}

Cof*_*ter 2 javascript jquery function

嗨javascript开发人员,

有没有办法减少在jquery中定义函数所需的样板?

(我的例子是回调,但它可以应用于任何匿名函数.)

$('#dialog').load('/index.cgi',{p:'myform'}, function(){ ajaxify_form() });

我想要的是做什么

$('#dialog').load('/index.cgi',{p:'myform'}, $.f(){ ajaxify_form() });

提前致谢.

cle*_*tus 8

您不需要样板.直接传递函数:

$('#dialog').load('/index.cgi',{p:'myform'}, ajaxify_form);
Run Code Online (Sandbox Code Playgroud)

用于所有意图和目的相当于:

$('#dialog').load('/index.cgi',{p:'myform'}, function() { ajaxify_form(); });
Run Code Online (Sandbox Code Playgroud)

除了 this 在功能中意义不同之外.

注意:不要这样做:

$('#dialog').load('/index.cgi',{p:'myform'}, ajaxify_form());
Run Code Online (Sandbox Code Playgroud)

因为那样做了完全不同的事情.而不是传入函数,而是传递函数返回的函数.

  • 唯一的区别是`this`关键字,在`ajaxify_form`函数中,在第一个例子中将引用`#dialog` DOM元素,在第二个例子中,它将引用全局对象(`window`) . (2认同)