我应该在哪里声明我的函数,以便从常规jQuery.ready()和jQuery(window).load()调用它?

时间:2017-06-13 18:57:11

标签: jquery

我从这两个不同的地方调用相同的功能:

jQuery(document).ready(function($) {
    myfunction();
});
jQuery(window).load(function() {
    myfunction();
});

我似乎无法找到声明该功能的正确位置。现在我在两个地方宣布这可能是错误的。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您需要决定何时调用您的函数。

只有在dom准备就绪或页面中的所有资源都已加载时,您的功能是否需要运行。

第一种情况在dom树准备好后执行代码。 陷阱:假设您的函数正在根据尚未加载的某些资产进行一些布局计算。如果你有任何这种情况,那么第二种情况是你需要去的情况,或者你可以在资产上注册一个特定的加载事件并解决布局计算。

第二种情况只在你的所有资产加载html,css,js,img,第三方资源等之后执行。陷阱:假设你在cdn中有一些资产组需要花费大量时间来回复,那么只有在处理完请求后你的函数才会执行。