javascript - Semua fail js yang diperkenalkan oleh halaman, setiap fail js mempunyai window.onload Kadangkala, fail js tertentu tidak dilaksanakan.
習慣沉默
習慣沉默 2017-06-26 10:55:06
0
5
942

1. Perkenalkan a.js dan b.js pada halaman A; tiada masalah dengan kedua-dua a.js dan b.js menggunakan window.onload
Tetapi saya juga memperkenalkan a.js dan c.js pada halaman B, dan kadangkala .js seolah-olah ia tidak dilaksanakan sama sekali
Tetapi saya terus meletakkan kandungan window.onload dalam a.js ke dalam onload c.js dalam halaman B, dan ia dilaksanakan dengan betul apa yang sedang berlaku? ?

習慣沉默
習慣沉默

membalas semua(5)
phpcn_u1582

window.onload hanya digunakan sekali, jadi akan berlaku konflik apabila berbilang js menggunakannya pada masa yang sama.
Penyelesaian

1.用jQuery使用ready()方法替换onload
2.在window.onload中一次加载所有js文件,例:window.onload=function(){function(a);function(b);} 
黄舟

Saya mencubanya Tetingkap boleh diikat beberapa kali, tetapi ia hanya akan berkuat kuasa pada kali terakhir Anda boleh membandingkan dua contoh saya di bawah untuk memahami situasi anda.

    //方式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();
            }
        }
    }
大家讲道理
  • Lulus window.onload = function() { ... }方法设置的事件,后面的window.onload值会覆盖掉前面的,所以,只有最后一次生效。(这个和调用a = 1; a = 2; a =3; adalah kebenaran)

  • Jika perlu windowonload事件进行多次绑定,建议使用addEventListener:

window.addEventListener('load', function() { ... }, false);
  • Nota, gunakan attachEvent而非addEventListener dalam ID:

window.attachEvent('onload', function() { ... });
  • Juga ambil perhatian, addEventListener中用的是'load',而attachEvent中用的是'onload'.

世界只因有你

Kaedah window.onload() hanya boleh diikat sekali Jika anda mengikat beberapa kali, hanya yang terakhir akan berkuat kuasa

代言

window.onload hanya akan memanggil yang terakhir, dan yang sebelumnya akan ditimpa.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan