为什么? 我对图像标签也有同样的问题。
ready() 回调被调用。 load() 回调永远不会被调用。
浏览器:Mac 上的 Firefox3.6.8
编辑:
我不知何故感觉我在 JQuery 中错误地使用了 load() 。 我指的是文档:- http://api.jquery.com/load-event/
我在做
$("body").load(function() { //做一点事 });
这不对吗?我看到一些代码在做:- $("#id").load("./newpage.html"); 但这两个是不同的 API,对吗?
编辑2
更多代码来解释我的整个问题:-
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!
});
});
作品
$().ready(function() {
$().load(function() {
/// something. this worked!
});
});
不起作用
// without the ready() wrapper does not work
$().load(function() {
/// something. this worked!
});
为什么?我很高兴它有效。但我不明白为什么!
-阿杰
最佳答案
如您链接到的页面上的示例所示,使用:
$(window).load(function(){
// do something
});
也许可以像您尝试的那样将事件绑定(bind)到 body 元素,但是您必须将用于执行此操作的代码放置在 body 元素内。如果将脚本放在头部(最好是脚本所在的位置),那么当代码运行时,body 元素还不存在。
关于jquery - $ ("body").ready() 有效,但 $ ("body").load() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559272/