午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

javascript - window.onload被覆蓋,怎么解決?

瀏覽:277日期:2023-05-25 17:45:41

問題描述

window.onload = function(){ var para =document.createElement('p'); var info = 'NodeName:'; info += para.nodeName; info += ' NodeType:'; info += para.nodeType; alert(info); } window.onload = function(){ var para = document.getElementById('testid'); var e = document.createElement('p'); var txt = document.createTextNode('hello zmz'); para.appendChild(e); e.appendChild(txt); }

只執行了第二個window.onload,但是我想讓兩個window.onload都執行。該怎么處理?

問題解答

回答1:

我們都知道onload事件只能執行一次,所以假設你要運行兩個onload時候執行的函數,最后只能執行后一個onload事件的函數,那么我們如何執行多個onload事件的函數呢,形式如下:

window.onload = function(){num1();num2();}

所以,我們就頂一個函數addLoadEvent(func),它只接受參數,就是在頁面加載完畢時執行的函數的名字

function addLoadEvent(func){ var oldonload = window.onload; //把現在有window.onload事件處理函數的值存入變量oldonload。 if(typeof window.onload != ’function’){ //如果這個處理函數還沒有綁定任何函數,就像平時那樣把新函數添加給它 window.onload = func; }else{ //如果在這個處理函數上已經綁定了一些函數。就把新函數追加到現有指令的末尾 window.onload = function(){ oldonload(); func(); } } }

調用:

addLoadEvent(num1);addLoadEvent(num2);回答2:

window.addEventListener(’load’,function(e){state1},false);window.addEventListener(’load’,function(e){state2},false);不建議用onload

回答3:

建議 一個頁面就一個window.onload

window.onload = function(){ var para =document.createElement('p'); var info = 'NodeName:'; info += para.nodeName; info += ' NodeType:'; info += para.nodeType; alert(info); var para = document.getElementById('testid'); var e = document.createElement('p'); var txt = document.createTextNode('hello zmz'); para.appendChild(e); e.appendChild(txt); }

如果怕命名沖突,可用封閉空間

window.onload = function(){ (function(){var para =document.createElement('p'); var info = 'NodeName:'; info += para.nodeName; info += ' NodeType:'; info += para.nodeType; alert(info); })();(function(){var para = document.getElementById('testid'); var e = document.createElement('p'); var txt = document.createTextNode('hello zmz'); para.appendChild(e); e.appendChild(txt); })();} 回答4:

方法1

function fn1(){ var para =document.createElement('p'); var info = 'NodeName:'; info += para.nodeName; info += ' NodeType:'; info += para.nodeType; alert(info); }function fn2(){ var para = document.getElementById('testid'); var e = document.createElement('p'); var txt = document.createTextNode('hello zmz'); para.appendChild(e); e.appendChild(txt); }window.onload = function(){ fn1(); fn2();}

方法2是用樓上的方法。

window.addEventListener(’load’,function(e){fn1();},false);window.addEventListener(’load’,function(e){fn2();},false);

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美jizz欧美性大全 | 亚洲一二三视频 | 337p粉嫩色噜噜噜大肥臀 | 亚洲欧美日韩久久精品 | 国产精品日 | 在线日韩欧美 | 国产精品毛片一区二区三区 | 香蕉视频一直看一直爽 | 国产综合久久 | 日韩福利片| 自拍偷拍第1页 | 成人综合在线视频 | 国产精品久久久久久久久久免费 | 午夜影院久久 | 久久成人av | 噜噜噜在线视频 | 日本视频在线免费 | 日韩激情在线 | 91精品国产成人观看 | 精品久久久一区 | 日本天天操 | 亚洲色中色 | 国产精品19乱码一区二区三区 | 国产56页 | 宅男噜噜噜66一区二区 | 精品久久二区 | 粉嫩在线观看 | 99re6这里只有精品 | 婷婷色视频 | 日韩一级精品 | 一级做a爱片久久毛片 | 中文字幕午夜 | 中文字字幕在线中文乱码 | 日日夜夜撸撸 | 天天艹| 久久免费精彩视频 | 免费网站在线播放 | 久久免费高清 | 99国产精品免费视频 | 亚洲h视频在线观看 | 国产高清免费av |