Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery $(“body”).ready()可以工作,但是$(“body”).load()不能工作?_Jquery - Fatal编程技术网

Jquery $(“body”).ready()可以工作,但是$(“body”).load()不能工作?

Jquery $(“body”).ready()可以工作,但是$(“body”).load()不能工作?,jquery,Jquery,为什么?? 我的图像标签也有同样的问题 ready()回调被调用。 load()回调永远不会被调用 浏览器:Mac上的Firefox3.6.8 编辑: 不知怎么的,我感觉我在JQuery中使用load()的方式不正确。 我指的是文件:- 我在做什么 $(“body”).load(函数(){ //做点什么 }); 对不对?我看到一些代码正在执行:- $(“#id”).load(“./newpage.html”); 但这两个API是不同的,对吗 编辑2 这里有更多的代码来解释我的整个问题:- va

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

ready()回调被调用。 load()回调永远不会被调用

浏览器:Mac上的Firefox3.6.8

编辑:

不知怎么的,我感觉我在JQuery中使用load()的方式不正确。 我指的是文件:-

我在做什么

$(“body”).load(函数(){ //做点什么 });

对不对?我看到一些代码正在执行:- $(“#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!
        });

});
不起作用

    // 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) )