bul*_*ley 4 javascript jquery onload
在上一个问题中,我了解到我的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 */
});
Run Code Online (Sandbox Code Playgroud)
它onload使用附加功能将现有函数包装在新函数中.这取自http://www.webreference.com/programming/javascript/onloads/
但是,对于在文档就绪而不是onload上执行它(不同的东西,onload就是当所有内容都已下载时,文档被加载时),请看这个问题:$(document).ready等效没有jQuery
| 归档时间: |
|
| 查看次数: |
7986 次 |
| 最近记录: |