我有一个Javascript函数从服务器加载一些html:
function addPerson(){
var p = $('<div>').load('data/person.php',function(){
//set click and key actions
$('#element').append($(this));
});
return p;
}
我希望有另一个函数在添加它们之后将一些数据加载到元素中,以便用户回来时:
function loadPerson(){
var ep = addPerson();
ep.find('#txtName').val('My Name');
//and so on
}
但loadPerson从不填写任何信息。我在fireant中调试并意识到ep的值总是一个空div,这让我意识到在异步查询完成之前元素正在被缓存。关于如何返回元素完全加载的任何想法?
P.S。我需要这两个功能!
编辑:
我也没有运气试过这个:
function addPerson(){
var p;
$('<div>').load('data/person.php',function(){
//set click and key actions
$('#element').append($(this));
p = $(this);
});
return p;
}
答案 0 :(得分:0)
以下是我在项目中使用的模式,
<强> Code:
强>
(function($) {
var foo = {
init: function() {
this.someObject = null;
this.cache();
return this; // to allow chaining
},
cache: function() {
this.someObject = $(".someClass");
}
};
window.load = foo.init();
})(jQuery);