【发布时间】:2013-08-30 13:17:18
【问题描述】:
我有函数requestXML 进行异步调用以获取 xml 文件
我也有这个运行良好的实现
function show(url){
requestXML(url, function(xml){
var items = $(xml).find('item');
var list = new Array();
$.each(items, function(){
list.push($(this).text());
});
displayList(list);
});
}
但是,我想通过这样做使 show 函数更通用
function show(url, func1){
requestXML(url, function(xml){
var items = $(xml).find('item');
var list = new Array();
$.each(items, func1(list));
displayList(list);
});
}
var func1 = function(list){
list.push($(this).text());
}
当我这样做时,我收到以下错误:“Uncaught TypeError: Cannot call method 'call' of undefined”。
我知道 list.push($(this).text()); 中的 func 中的对象 this 必须更改为其他内容,但我不知道是什么。我怎样才能做到这一点?
【问题讨论】:
标签: javascript jquery closures