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

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

javascript - 頁面引入的所有的js文件,每個(gè)js文件都有window.onload偶爾會(huì)某個(gè)js文件沒有執(zhí)行

瀏覽:83日期:2023-05-27 13:56:22

問題描述

1.在A頁面引入a.js和b.js;其中a.js和b.js都用了window.onload沒有問題;但是我在B頁面也引入a.js和c.js,偶爾a.js就跟完全沒有執(zhí)行一樣但是我直接將a.js中的window.onload中的東西放入B頁面的c.js的onload中,又正確執(zhí)行了,不曉得是怎么回事??

問題解答

回答1:

window.onload只有一次,所以會(huì)出現(xiàn)多個(gè)js同時(shí)使用它而沖突的問題。解決辦法

1.用jQuery使用ready()方法替換onload2.在window.onload中一次加載所有js文件,例:window.onload=function(){function(a);function(b);} 回答2:

我試了一下,window可以綁定多次,但是最后一次才會(huì)生效,你可以對(duì)照看下我下面的2個(gè)例子來理解你出現(xiàn)的情況。

//方式1: window.onload=function () {console.log('1'); } window.onload=function () {console.log('2'); }// 輸出2// -------------------------------分割線// 方式2: function fn1() {console.log('1'); } function fn2() {console.log('2'); } addEventLoad(fn1); addEventLoad(fn2); //輸出1 2 function addEventLoad(fn){var oldFn = window.onload;if(typeof window.onload != ’function’){ window.onload = fn;}else{ window.onload = function(){oldFn();fn(); }} }回答3:

通過window.onload = function() { ... }方法設(shè)置的事件,后面的window.onload值會(huì)覆蓋掉前面的,所以,只有最后一次生效。(這個(gè)和調(diào)用a = 1; a = 2; a =3;是一個(gè)道理)

如果需要對(duì)window的onload事件進(jìn)行多次綁定,建議使用addEventListener:

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

注意,ID中使用attachEvent而非addEventListener:

window.attachEvent(’onload’, function() { ... });

另外注意,addEventListener中用的是’load’,而attachEvent中用的是’onload’。

回答4:

window.onload()方法只能綁定一次的,多次綁定只有最后一次生效

回答5:

window.onload只會(huì)調(diào)用最后一個(gè)的,之前的都會(huì)被覆蓋掉。

標(biāo)簽: JavaScript
主站蜘蛛池模板: 宾川县| 华蓥市| 塔城市| 泰顺县| 张家港市| 安仁县| 彰化市| 陆丰市| 天津市| 增城市| 盐源县| 永寿县| 于田县| 紫云| 华宁县| 琼结县| 巴里| 黄浦区| 阿拉善右旗| 大英县| 朝阳市| 乌兰察布市| 安吉县| 嘉禾县| 江口县| 元谋县| 南投市| 双城市| 鄢陵县| 江永县| 汉川市| 黄平县| 罗江县| 崇阳县| 武平县| 焉耆| 如东县| 灵武市| 江华| 新干县| 边坝县|