DOM文档流一般是从上到下执行,所以我们一般将标签放在最下面,有了元素之后,才能对元素进行操作,放在了元素前的话,js就不会执行额
但是如果想要将放在其他位置,元素上面,也可以执行;- - -可以使用:load事件,或者DOMContentLoaded事件
相同点:
将放在两者中,都可以达到页面加载完成后,再执行js
不同点:
load事件- - -dom页面所有内容加载完后,再执行js语句,包含图片、flash、css等
DOMContentLoaded- - -dom页面加载完毕,不包含图片、flash、css等就可以执行js语句
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>页面加载事件</title> <script> /* window.onload = function() { var btn = document.querySelector('button'); btn.addEventListener('click', function() { alert('弹弹弹,弹走鱼尾纹!'); }) } */ window.addEventListener('load', function() { var btn = document.querySelector('button'); btn.addEventListener('click', function() { alert('弹弹弹,弹走鱼尾纹!'); }) }) window.addEventListener('DOMContentLoaded', function() { alert('dom加载完毕,不包含图片 flash css 等就可以执行 加载速度比较快'); }) </script> </head> <body> <button>点我弹弹弹</button> <!-- <script> var btn = document.querySelector('button'); btn.addEventListener('click', function() { alert('弹弹弹,弹走鱼尾纹!'); }) </script> --> </body> </html>