2014-02-13 23 views
0

我收到以下錯誤。未捕獲的TypeError:無法設置null的屬性'onclick'使用window.onload後不工作

Uncaught TypeError: Cannot set property 'onclick' of null sample.aspx:40 sample.aspx 40 
- window.onload               sample.aspx 40 

我有搜索解決這個錯誤但我無法成功。我發現很多與此錯誤相關的帖子,並且建議每個人都使用Window.onload但我仍然可以解決我的問題。

這裏是我的代碼

<script> 
     var b4 = document.getElementById('b4'), 
      button4 = document.getElementById('set4'); 
     window.onload = function() { 
      button4.onclick = function() { 

       // Update the Button 
       var pause = button4.innerHTML === 'start!'; 

       return false; 

      } 
     }; 

    </script> 

因此,任何一個請告訴我如何解決這個錯誤。

+0

你有一個'id = set4'的元素嗎? - 在運行代碼之前,您是否首先等待元素在DOM中? –

+0

是的,我有一個id = set4的元素。是的它對其他按鈕工作正常。只爲這個按鈕,它顯示了我的錯誤。 – user2787300

回答

1

您在onload之外設置變量。 DOM沒有準備好,所以元素還不存在。試着把它放在加載事件中:

 window.onload = function() { 
     var b4 = document.getElementById('b4'), 
      button4 = document.getElementById('set4'); 
     button4.onclick = function() { 

      // Update the Button 
      var pause = button4.innerHTML === 'start!'; 

      return false; 

     } 
    }; 
+0

我已經嘗試過,但仍然是相同的錯誤。 – user2787300

+0

@ user2787300該按鈕稍後添加或在首頁加載時出現? –

+0

它在頁面加載 – user2787300

相關問題