gpt4 book ai didi

javascript - 是否有不使用框架的 window.onload 的通用替代品?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:20 34 4
gpt4 key购买 nike

a previous question我了解到我的 JavaScript 中存在一个错误,该错误与在触发 DOMReady 事件之前在 BODY 元素上使用 appendChild 有关。

我能够通过将我的代码包装在 window.onload 事件中来解决这个问题。阅读这篇文章,我了解到 window.onload 只支持一个监听器,我不能保证我不会破坏别人的监听器或者别人的监听器不会破坏我的监听器。

查看 $(document).ready(function(){}); 的源代码,我意识到该语法的简单性可能包含很多内容。

有没有一种通用的方法可以让我在不使用 jQuery 或其他 JS 库的情况下等待 DOMReady 事件?虽然这似乎可以解决问题,但我宁愿不依赖第三方库以使我的代码正常工作。

最佳答案

你可以这样做:

function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}

addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);
addLoadEvent(function() {
/* more code to run on page load */
});

将现有的 onload 包装在一个带有附加功能的新函数中。这取自 http://www.webreference.com/programming/javascript/onloads/

但是,对于在文档就绪而不是加载时执行此操作(不同的是,加载是在下载所有内容时准备就绪是在加载文档时)看这个问题:$(document).ready equivalent without jQuery

关于javascript - 是否有不使用框架的 window.onload 的通用替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285491/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com