Rumah  >  Soal Jawab  >  teks badan

Tambahkan berbilang peristiwa window.onload

<p>Dalam kawalan pengguna ASP.NET saya, saya menambahkan beberapa kod JavaScript pada acara <code>window.onload</code> <pre class="brush:php;toolbar:false;">if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), onloadScriptName)) Page.ClientScript.RegisterStartupScript(this.GetType(), onloadScriptName, "window.onload = function() {myFunction();};", true);</pre> <p>Masalah saya ialah jika sudah ada kandungan dalam acara <code>onload</code> Bagaimanakah saya boleh mendayakan kedua-dua kawalan pengguna untuk melaksanakan kod JavaScript dalam acara <code>onload</code> </p> <p><strong>Editor: </strong>Terima kasih atas maklumat tentang perpustakaan pihak ketiga. Saya akan ingat. </p>
P粉555696738P粉555696738447 hari yang lalu427

membalas semua(2)saya akan balas

  • P粉354602955

    P粉3546029552023-08-23 14:45:25

    Masih ada penyelesaian yang buruk (jauh lebih rendah daripada menggunakan bingkai atau addEventListener/attachEvent)是保存当前的onloadacara:

    function addOnLoad(fn)
    { 
       var old = window.onload;
       window.onload = function()
       {
           old();
           fn();
       };
    }
    
    addOnLoad(function()
    {
       // 在这里编写你的代码
    });
    addOnLoad(function()
    {
       // 在这里编写你的代码
    });
    addOnLoad(function()
    {
       // 在这里编写你的代码
    });

    Sila ambil perhatian bahawa rangka kerja seperti jQuery akan menyediakan cara untuk melaksanakan kod apabila DOM sedia, bukan apabila halaman dimuatkan.

    DOM ready bermakna HTML anda telah dimuatkan, tetapi komponen luaran (seperti imej atau helaian gaya) belum lagi dimuatkan, yang membolehkan anda dipanggil sebelum acara pemuatan berlaku.

    balas
    0
  • P粉253518620

    P粉2535186202023-08-23 10:50:31

    Kebanyakan "penyelesaian" yang dicadangkan adalah khusus untuk Microsoft atau memerlukan perpustakaan yang besar. Ini adalah pendekatan yang baik. Ia berfungsi dengan penyemak imbas yang mematuhi W3C dan Microsoft IE.

    if (window.addEventListener) // W3C标准
    {
      window.addEventListener('load', myFunction, false); // 注意 **不是** 'onload'
    } 
    else if (window.attachEvent) // Microsoft
    {
      window.attachEvent('onload', myFunction);
    }

    balas
    0
  • Batalbalas