//这里的fun参数是传入一个functions,比如下面的alt方法, function _get_show_img_src(r,fun) { var src = $("img", $(r)).attr("src"); if($.isFunction(fun)){ //fun;关键是在这里怎么执行alt方法呢....它的参数 个数还是不确定的. //想做到想Jquery.post(); } return fun; } function alt(path){ alert(path); }
hi!看了下问题的描述,改了下代码:
1 function _get_show_img_src(r,fun) { 2 var src = $("img", $(r)).attr("src"); 3 if($.isFunction(fun)){ 4 fun.call(参数1,参数2,...,); 5 } 6 return fun; 7 } 8 9 function alt(){ 10 var args = arguments[0]; 11 alert(args); 12 }
我的理解是第4行传参数的个数是不定的,所以弄成了把参数一个一个依次传进去就行了。至于外面的函数就直接从arguments里面取得参数。我的理解可能不大对,如果理解反了楼主再回复我吧:)
嗯嗯...谢谢,经过测试,是可用,不过看来参数不固定,还真是不能啊。谢谢...让我理解的call方法。。
@e.FLY: 不客气。:)
function _get_show_img_src(r, fun) { var src = $("img", $(r)).attr("src"); if ($.isFunction(fun)) { fun("写上参数", ""); //或者 fun(arguments[0],arguments[2]); } return fun; }
fun("写上参数", "");
明显会把fun("写上参数", "")当是一个新的function,会抛没有找到给function异常,而且参数个数不能确定,是需要的调用者决定的。谢谢...
嗯哼...如果参数固定,可以达到预期效果,不过不是想要的。还是谢谢。。
function _get_show_img_src(r,fun) { var src = $("img", $(r)).attr("src"); if($.isFunction(fun)){
fun(src); //fun;关键是在这里怎么执行alt方法呢....它的参数 个数还是不确定的. //想做到想Jquery.post(); } return fun; }
_get_show_img_src(r,alt)
function alt(path){ alert(path); }