嗨javascript开发者,
有没有办法减少在jquery中定义函数所需的样板?
(我的例子是回调,但它可以应用于任何匿名函数。)
$('#dialog').load('/index.cgi',{p:'myform'}, function(){ ajaxify_form() });
我想做的是
$('#dialog').load('/index.cgi',{p:'myform'}, $.f(){ ajaxify_form() });
提前致谢。
答案 0 :(得分:8)
您不需要样板。直接传递函数:
$('#dialog').load('/index.cgi',{p:'myform'}, ajaxify_form);
用于所有意图和目的,相当于:
$('#dialog').load('/index.cgi',{p:'myform'}, function() { ajaxify_form(); });
,但 this
的含义在函数中会有所不同。
注意:不要这样做:
$('#dialog').load('/index.cgi',{p:'myform'}, ajaxify_form());
因为这样做完全不同。不是传递函数,而是传递函数返回的函数。