【问题标题】:Why JQuery's load() isn't working?为什么 JQuery 的 load() 不起作用?
【发布时间】:2011-05-20 09:42:31
【问题描述】:

大家好 在我的主 html 文件中,我有这个 div,其中定义了一些 img:

< div id="preload">
    < img src="http://howindia.com/......jpg" width="1" height="1" /> 
< /div>

在我的 .js 文件中我说:

$("#preload").load(function(){
    alert("something...");
    //call other functions 
});

但简单地将所有图像加载到

不会触发任何事件并且

【问题讨论】:

  • 哦,我确实喜欢悬念的好问题! “和……”?

标签: jquery preloading


【解决方案1】:

图像加载事件不会传播到 div。请尝试向图像添加负载处理程序。

Example fiddle

$("#preload img").load(function(){
    alert("something...");
    //call other functions 
});

【讨论】:

  • 还要确保在加载DOM后调用代码,在$(function(){ ... })
  • @Luca Matteis 或在结束正文标记之前放置脚本!
【解决方案2】:

首先,快速提示。如果成千上万(数百万?)人使用的图书馆“不工作”,那么可能不会是你注意到它。在这种情况下,100% 的可能性是您的代码不起作用,而不是 jQuery。

至于您的问题,快速查看documentation for load() 显示没有将函数作为第一个参数的重载。定义为:

.load( url, [ data ], [ complete(responseText, textStatus, XMLHttpRequest) ] )

你是否真的在尝试使用.ready()

或者可能是.load() event,在这种情况下文档指定

加载事件被发送到一个元素 当它和所有子元素已经 完全加载。本次活动可以 发送到与 a 关联的任何元素 网址:图片、脚本、框架、iframe、 和窗口对象

【讨论】:

  • 我相信 OP 是在谈论图像加载事件而不是 jquery xhr .load,尽管很难 100% 确定:)
  • @redsquare - 你可能是对的。我没有考虑到这一点。答案已编辑。
  • 是的...“它不起作用”我的意思是“它不适合我或我的目的”或换句话说“我不知道如何使用它”
【解决方案3】:

使用这个:

$(document).ready(function() {
  // do what u want.
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多