簡體   English   中英

我可以運行多個JavaScript onload嗎?

[英]Can I run more than one javascript onload?

我有一個使用modernizr.js的頁面,該頁面在加載時運行。 在添加此代碼之前,我運行了一個簡單的js時鍾腳本來顯示加載頁面時加載的時間,但是,因為同時將它們都添加到頁面中會使一個或另一個停止工作。

我對javascript還是很陌生,並且開始熟悉規則(自學)。 是否可以使兩個腳本在加載時運行? 或者,我是不是吠錯了樹,如果這樣,我的代碼是否有問題?

這就是我的...

<script>
window.onload = function() {
   if(window.FileReader && Modernizr.draganddrop){
      window.location = "http://www.dentaldigs.co.uk/image_upload.php"

   }
};
</script>

<script>
      // add a zero in front of numbers<10
      function checkTime(i)
      {
      if (i<10)
        {
          i="0" + i;
        }
      return i;
      }

      function clock()
      {
      var today=new Date();
      var h=today.getHours();
      var m=today.getMinutes();
      var s=today.getSeconds();
      m=checkTime(m);
      s=checkTime(s);
      document.getElementById('clock_div').innerHTML=h+":"+m+":"+s;
      t=setTimeout(function(){clock()},500);
      }  

</script>

<body onLoad="clock()">
</body>

放置了時鍾腳本后,modernizr.js無法正常工作。

謝謝

為什么不簡單地添加clock(); 調用Modernizr腳本后立即轉到window.onload

<script>
window.onload = function() {
   // loading modernizr
   if(window.FileReader && Modernizr.draganddrop){
      window.location = "http://www.dentaldigs.co.uk/image_upload.php"
   }
   // calling your clock script
   clock();
};
</script>
<body>
   ...
</body>

而不是直接分配給window.onload ,您應該使用addEventListener綁定事件。 這樣,您可以分配多個功能。

window.addEventListener('load', function(){
    console.log('first onload');
});

window.addEventListener('load', function(){
    console.log('second onload');
});

演示: http : //jsfiddle.net/jjqCX/

更新 :如果您使用的是IE <9,則需要使用attachEvent

function loaded = function(){
    console.log('first onload');
}

function loaded2 = function(){
    console.log('second onload');
}

if (window.addEventListener) {
    window.addEventListener('load', loaded, false); 
    window.addEventListener('load', loaded2, false); 
}
else if (window.attachEvent)  {
    window.attachEvent('onload', loaded);
    window.attachEvent('onload', loaded2);
}

演示: http : //jsfiddle.net/jjqCX/1/

用這個

function myFunctions() {
  function1();
  function2();
}
window.onload = myFunctions;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM