窗口加载到文档里面准备好了吗?

2021/01/30 17:51 · jquery ·  · 0评论

抱歉,如果以前没有回答,但是所有搜索都在谈论差异,如果可能的话,不要将两者一起使用。

简单来说,可以$(window).load.(function() {})在INSIDE中使用$(document).ready.(function() {})吗?

在加载DOM之后,我需要做一些事情,但是我想仅在图像完成加载后才显示某些元素。在Explorer 8中唯一起作用的是将$(window).load函数$(document).ready与其他所有函数一起放入

这是可以接受的做法吗?

我只想使用最可接受的方法来显示DIV包含完整图像的小图像,例如工具栏。例如,visibility hidden与相比display none)。HTMLDIV是由中的代码编写的$(document).ready,然后在使用$('body').append()之前使用将其附加到正文$(window).load

我在使用Explorer 8时遇到很多问题。

这很好,并且是可以接受的做法。毕竟,正如您所描述的,在某些情况下,$(window).load()处理程序中的逻辑取决于DOM准备就绪后发生的工作。如果实际上在您设置时已经加载了窗口$(window).load(),则处理程序将立即触发。

编辑:

注意:此答案仅适用于jQuery v2及以下版本。


jQuery.ready()事件

传递给处理程序.ready()保证要执行
的DOM就绪后,所以这通常是连接的所有其他事件处理程序最好的地方和运行其它jQuery代码。

jQuery.load()事件方法

load事件和所有子元素都已完全加载时,事件将发送到该元素该事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象。

根据上面的jQuery文档,我没有发现任何指示以下问题的信息:

$(document).ready(function () {
    // will fire IMMEDIATELY after the DOM is constructed

    $(window).load(function() {
        // will only fire AFTER all pages assets have loaded
    })

});

放置.loadready简单对象内部可以确保每次load触发DOM都已准备就绪

可能希望将所有jQuery代码放在单个DOM ready处理程序中,但仍然可能有一部分jQuery代码需要首先加载所有图像。这种安排保证所有代码在DOM准备就绪时被触发一次,其余的将在页面资产完成加载时随后被触发。

最终这可能更多是个人喜好问题,但是,OP明确地问这种安排是否会引起问题。事实并非如此。

我最近遇到了这个问题...从jQuery版本3开始,我们不再可以将$(window).on('load')放在document.ready()...之内,因为ready处理程序是异步调用的,这意味着ready可以加载后被调用。

来自jQuery Core TeamGithub:jQuery 3问题

明确地说,我们了解是什么原因造成的。最近,我们使就绪的处理程序异步触发。这具有难以放弃的优势。缺点是,如果加载事件触发得足够快,则就绪处理程序有时会在加载事件之后触发。在此问题中看到的副作用是,在加载事件已触发后,您正在绑定加载事件处理程序。

解决方法是将负载绑定在就绪状态之外。

这就是应该调用这两种方法的方式:

$(function() {
  // Things that need to happen when the document is ready
});

$(window).on("load", function() {
  // Things that need to happen after full load
});

警告:这个问题的答案已经过时了。

正如@ViRuSTriNiTy在评论中提到的那样,该代码在jQuery 3中不再有效,并在GitHub上被提及为问题

因此,不再建议使用此方法。

一种方法是使用以下代码

$(window).on("load", function(){
   $.ready.then(function(){
      // Both ready and loaded
   });
})

但是,如果您准备好加载图像并在完全加载后调用某些代码,则此代码将不起作用。

本文地址:http://jquery.askforanswer.com/chuangkoujiazaidaowendanglimianzhunbeihaolema.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!