Jquery $(“body”).ready()可以工作,但是$(“body”).load()不能工作?
为什么?? 我的图像标签也有同样的问题 ready()回调被调用。 load()回调永远不会被调用 浏览器:Mac上的Firefox3.6.8 编辑: 不知怎么的,我感觉我在JQuery中使用load()的方式不正确。 我指的是文件:- 我在做什么 $(“body”).load(函数(){ //做点什么 }); 对不对?我看到一些代码正在执行:- $(“#id”).load(“./newpage.html”); 但这两个API是不同的,对吗 编辑2 这里有更多的代码来解释我的整个问题:-Jquery $(“body”).ready()可以工作,但是$(“body”).load()不能工作?,jquery,Jquery,为什么?? 我的图像标签也有同样的问题 ready()回调被调用。 load()回调永远不会被调用 浏览器:Mac上的Firefox3.6.8 编辑: 不知怎么的,我感觉我在JQuery中使用load()的方式不正确。 我指的是文件:- 我在做什么 $(“body”).load(函数(){ //做点什么 }); 对不对?我看到一些代码正在执行:- $(“#id”).load(“./newpage.html”); 但这两个API是不同的,对吗 编辑2 这里有更多的代码来解释我的整个问题:- va
var tagString = "<img id='"+imageId+"'></img>";
this.divElem.append(tagString);
var imgElems = $("#"+imageId);
var vowels = this;
imgElems.each(function (index) {
$(this).attr('id',imgId).attr('src',imageUrl)
.attr('width',1).attr('height',1);
$(this).load(function() {
// do something.
// This Damned! function is never getting called!
});
});
不起作用
// without the ready() wrapper does not work
$().load(function() {
/// something. this worked!
});
为什么??我很高兴它能工作。但我不明白为什么
-Ajay从技术上讲,
$(“任何”).ready()
可以工作……它甚至不看选择器,尽管错误的选择器会在那里出错。使用.load()
它是一个事件处理程序,因此您需要确保在触发事件后未绑定,或者正在侦听已发生的事件。如链接页面上的示例所示,使用:
$(window).load(function(){
// do something
});
可能可以像您尝试的那样将事件绑定到body元素,但是您必须将执行此操作的代码放在body元素中。如果将脚本放在头部(脚本首选的位置),则代码运行时body元素还不存在。.ready()和.load()完全不同
$("body").ready(onBodyLoaded);
提及
这一行告诉浏览器在加载body时调用onBodyLoaded函数
var url = some url
var data = {}
$("body").load( url , data, onComplete(responseText, textStatus, XMLHttpRequest) )
这会告诉浏览器请求url,如果是POST,则将数据传递到正文中,然后调用onComplete函数
请参阅如何确保在事件发生后不绑定?@ajay-确保您未在就绪处理程序中绑定,具体取决于您的目标…假设加载的所有图像都是您可能需要的
$(窗口)。请改为加载()
。
var url = some url
var data = {}
$("body").load( url , data, onComplete(responseText, textStatus, XMLHttpRequest) )