国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:208日期: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); }

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

問題解答

回答1:

我們都知道onload事件只能執(zhí)行一次,所以假設(shè)你要運行兩個onload時候執(zhí)行的函數(shù),最后只能執(zhí)行后一個onload事件的函數(shù),那么我們?nèi)绾螆?zhí)行多個onload事件的函數(shù)呢,形式如下:

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

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

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

調(diào)用:

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
相關(guān)文章:
主站蜘蛛池模板: 阳谷县| 三明市| 四会市| 丹巴县| 宜章县| 浏阳市| 海原县| 美姑县| 延寿县| 名山县| 法库县| 洞口县| 内黄县| 历史| 闽清县| 泸州市| 万源市| 宜良县| 邛崃市| 疏附县| 台东市| 巫溪县| 广元市| 满城县| 黄平县| 岳西县| 卢龙县| 东安县| 遵化市| 河池市| 巴彦淖尔市| 乃东县| 新兴县| 阳泉市| 汉寿县| 三穗县| 仙居县| 仙桃市| 通山县| 凤城市| 玉田县|