zoukankan      html  css  js  c++  java
  • JS代码的位置与事件响应代码块的封装问题

    JS代码的位置
          我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分。
       放在<head>部分
    最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。
      放在<body>部分
    JavaScript代码在网页读取到该语句的时候就会执行。
     注意
          Javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。

          比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。


    事件响应代码块的封装
    ★  事件响应代码的不同封装其页面响应效果也有所不同
    △ 测试 1 放在标签<head>中,或紧接着标签<body>的下方
    1. <script>
    2. /* document.onclick = function () {
    3. alert("You have clicked in the document!");
    4. };
    5. var img = document.getElementById("mainImage");
    6. img.onclick = function () {
    7. alert("You have clicked on the picture!");
    8. };*/
    9. /* 若将document.onclick放在img onclick事件之前,那么只会提示document的onclick */
    10. /* 若将img onclick放在document.onclick事件之前,那么无任何提示*/
    11. </script>
    △ 测试 2 放在内容标签之后
    1. <body>
    2. <img src="images/image.jpg" id="mainImage">
    3. document.onclick =function(){
    4. alert("You have clicked in the document!");
    5. };
    6. var img = document.getElementById("mainImage");
    7. img.onclick =function(){
    8. alert("You have clicked on the picture!");
    9. };
    10. //此时document.onclick与img.onclick的顺序不影响执行结果
    11. </body>
     

    推荐做法(正确的姿势...)

           将事件响应代码封装为函数,然后在window.onload中完成挂接工作。
    1. <script>
    2. functionDemo(){
    3. document.onclick =function(){
    4. alert("You have clicked in the document!");
    5. };
    6. var img = document.getElementById("mainImage");
    7. img.onclick =function(){
    8. alert("You have clicked on the picture!");
    9. };
    10. }
    11. window.onload =function(){
    12. Demo();
    13. }
    14. </script>
    这样子,script的代码块无论在head中还是body中,或者是body的不同位置,最终的执行结果都是一样的。
     



  • 相关阅读:
    hdu 4123 树形dp+rmq
    POJ 2761 Feed the dogs 求区间第k大 划分树
    hdu 4585 shaolin 平衡树
    *hdu 4616 Game 树形DP
    hdu 5379 Mahjong tree 树形DP入门
    CF 581F Contest Page 树形DP
    hdu 2778 LCR 模拟题
    hdu 2896 病毒侵袭 AC自动机
    hdu 2222 Keywords Search AC自动机模板题
    透过c的编程原则,来规范自己现在的一些编程习惯
  • 原文地址:https://www.cnblogs.com/Jener/p/5982183.html
Copyright © 2011-2022 走看看