jquery - $ ("body").ready() 有效,但 $ ("body").load() 不起作用?

标签 jquery

为什么? 我对图像标签也有同样的问题。

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/

相关文章:

javascript - chrome 开发者工具源代码

javascript - Ajax 调用后未应用 AddClass 方法

jquery - bbq 删除状态而不影响

javascript - 尝试通过 jQuery click() 单击外部链接来更改一个 div 的 css

javascript - 我需要在 Jquery 中从 'active' 项目开始循环

jquery - 使用 :contains() Selector on a label to affect an input

即使提交了表单,Jquery 绑定(bind)在 'ajax:success' 、 'ajax:error' 或 'ajax:complete' 上也不会执行

jquery - 为什么使用 focusout 方法在 jQuery 中没有触发 focusout 事件?

javascript - ajax 将数据从tinyMCE 文本字段发送到PHP

javascript - select_taf 上的 Ajax 和 JS;语法错误: missing } after property list