为了在网页加载完后,同时执行多个函数,Simon Willison写了function addLoadEvent(func):
function addLoadEvent(func){
var oldOnload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}
else {
window.onload = function(){
oldOnload();
func();
}
}
}
addLoadEvent工作流程:
把现有的window.onload事件处理函数的值存入变量oldonload。
如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它;
如果在这个处理函数已经绑定了一些函数,就把函数追回到现有指令未尾。
浏览器加载html内容是自上而下的(默认),而JS一般是在哪里引入——想想如果JS里面包含了一些即时执行指令,
它会操作根本不存在元素节点(因为还没有加载完)会有什么后果?结果就是出错。
addLoadEvent可以实现无论有多少个函数,都能让它们同时和window.onload事件绑定。
分享到:
相关推荐
function addLoadEvent(func) { var oldonload = window.onload; // 检查window.onload是否已经存在一个函数 if (typeof window.onload != 'function') { // 如果不存在,直接将新函数赋值给onload window....
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } `...
function addLoadEvent(func) { var oldOnload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldOnload(); func(); }; } ...
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); ...
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != "function") { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); ...
function addLoadEvent(func) { var oldonLoad = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonLoad(); func(); }; } } ...
为了解决这个问题,Simon Willison提出了一个优雅的解决方案,即`addLoadEvent`函数。这个函数接受一个参数,即需要在页面加载完成后执行的函数名,并确保这个函数被正确地添加到`window.onload`事件处理函数中,...
function addLoadEvent(func) { var oldOnload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldOnload(); func(); }; } }...
function addLoadEvent(func) { var oldOnload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldOnload(); func(); }; } } ...
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); ...
function addLoadEvent(func) { var oldOnload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldOnload(); // 执行原有的...
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } `...
1.获得当前元素的下一个元素 代码如下: function getNextElement...外部引入的js,添加页面加载方法 代码如下: function addLoadEvent(func){ var oldonload=[removed]; if(typeof [removed]!=’function’){ window
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload !== 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload();...