zoukankan      html  css  js  c++  java
  • 遍历加监听

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script>
            window.onload=function(){
    
            var btns = document.getElementsByTagName("button");
    
            // 遍历加监听
    
            // -----------有问题--------------
           /*  for (var i = 0, length = btns.length; i < length; i++) {
                var obj = btns[i];
                obj.onclick=function(){
                     alert("第" + (i+1) + "个");//第4个
                }
            } */
    
    
            // ---------------解决一:保存下标--------------------
             /* for (var i = 0, length = btns.length; i < length; i++) {
                    var btn = btns[i];
                    // 将btn所对应的下标保存在btn上
                    btn.index=i;
                    btn.onclick = function () {
                        alert("第" + (this.index+1) + "个");
                    }
                }    */
    
    
            //-------------------解决二:利用闭包----------------
                for (var i = 0, length = btns.length; i < length; i++) {
                    (function (i){
                    var btn = btns[i];
                    btn.onclick = function () {
                        alert("第" + (i + 1) + "个");
                    }
                 })(i);
                    
                    
                } 
     };
        </script>
    </head>
    <body>
        <button>测试1</button>
        <button>测试2</button>
        <button>测试3</button>
        <!-- 需求:点击某个按钮,提示“点击的是第n个按钮” -->
        
    </body>
    </html>

     

     

  • 相关阅读:
    卡尔曼滤波的原理与思想
    什么是端口
    什么是ICD文件
    USB口,串口,以太网口简介
    Linux基本操作笔记
    网络营销学习路线图
    读书推荐:2017 第一期
    又见Bug
    如何请教别人问题?
    圆桌问答 (2017 第一季)
  • 原文地址:https://www.cnblogs.com/hr-7/p/14282512.html
Copyright © 2011-2022 走看看