1.報錯:Cannot read property 'addEventListener' of null
2.解決方案:
把代碼放到window.onload=function(){...}里面,因為如果頁面還沒加載到btn按鈕而且你代碼是放在btn按鈕的前面,你就調用了getElementById,返回的對象是undefined.
3.window.onload用法詳解:
網頁中的javaScript腳本代碼往往需要在文檔加載完成后才能夠去執行,否則可能導致無法獲取對象的情況,為了避免這種情況的發生,可以使用以下兩種方式:
一.將腳本代碼放在網頁的底端,這樣在運行腳本代碼的時候,可以確保要操作的對象已經加載完成。
二.通過window.onload來執行腳本代碼。window.onload是一個事件,當文檔加載完成之后就會觸發該事件,可以為此事件注冊事件處理函數,並將要執行的腳本代碼放在事件處理函數中,於是就可以避免獲取不到對象的情況
4.document.ready和window.onload的區別
在Jquery里面,我們可以看到兩種寫法:$(function(){}) 和$(document).ready(function(){})
這兩個方法的效果都是一樣的,都是在dom文檔樹加載完之后執行一個函數(注意,這里面的文檔樹加載完不代表全部文件加載完)。
而window.onload是在dom文檔樹加載完和所有文件加載完之后執行一個函數。也就是說$(document).ready要比window.onload先執行。