获取回调函数中定义的参数值javascript函数
问题描述:
如何查看回调函数中的参数“url”?获取回调函数中定义的参数值javascript函数
功能在全球范围内宣布:
var showPrompt = function(text, callBackFunc){
$('#msg').html(text);
$('#msgbtn').click(function(){callBackFunc();})
};
//调用函数
$('li').click(function(){ // about 100 li el.
var url = '/prod/' + $(this).data('id');
showPrompt('Page will be redirected', function(url){
window.location = url;
})
})
答
showPrompt = function(text, callBackFunc, args){
$('#msg').html(text);
$('#msgbtn').click(function(){callBackFunc(args);})
};
//calling function
$('li').click(function(){ // about 100 li el.
var url = '/prod/' + $(this).attr('id');
showPrompt('Page will be redirected', function(args){
alert(args.url);
}, {'url':url})
})
用这种方式(清洁方法)
“ - 或 -
showPrompt = function(text, callBackFunc){
$('#msg').html(text);
$('#msgbtn').click(callBackFunc);
};
//calling function
$('li').click(function(){ // about 100 li el.
var url = '/prod/' + $(this).attr('id');
showPrompt('Page will be redirected', function(){
alert(url);
})
})
+0
但你仍然知道如何重用通过匿名函数url参数? – jmav
+0
我无法理解你的问题。 – hungryMind
答
不要声明url
作为参数传递给你的函数,你会得到你想要的外url
:
var url = ('error.html');
showPrompt('Page will be redirected', function() {
window.location = url;
});
而且你不需要额外的ano nymous函数内部showPrompt
,只是这是好的:
showPrompt = function(text, callBackFunc) {
$('#msg').html(text);
$('#msgbtn').click(callBackFunc);
};
除非当然,如果你想随时拨打callBackFunc
不带任何参数。附加为
.click(callBackFunc)
表示将以该事件为参数调用它。
答
showPrompt = function(text, callBackFunc) {
var url = ('error.html');
$('#msg').html(text);
$('#msgbtn').click(function(){callBackFunc(url);})
};
//calling function
showPrompt('Page will be redirected', function(url){
window.location = url;
})
你可以这样做。刚刚宣布的URL中的函数调用callBackFunc关闭,然后将它作为参数传递
你为什么反对投票题? – jmav