zoukankan      html  css  js  c++  java
  • Javascript 笔记与总结(2-17)事件委托

    【例】五子棋,单次点击为黑色,偶次点击为白色。e.target 的用法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            table{
                width:400px;
                height:400px;
                border:0;
                border-collapse: collapse;
                background:orange;
            }
    
            td{
                border: 1px solid gray;
                cursor:pointer;
            }
        </style>
    </head>
    <body>
        <table>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
            </table>    
    </body>
    <script>
        var num = 0; //计数器
        document.getElementsByTagName("table")[0].onclick = function(e){
            //alert(e.target); //[object HTMLTableCellElement]
            //console.log(e.target); //<td></td>
            e.target.style.background = num++%2?"white":"black"; //单数为黑色,偶数为白色
        }
    
    </script>
    </html>      

    把 td 的点击事件交给 table ,即把事件处理委托给 table,事件委托。 

    【附:技巧】sublime (text2 | text3)快速写表格

    table>tr*5>td*5

    生成 5 行 5 列的表格

        <table>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
            </table>    
    View Code
  • 相关阅读:
    go mod 安装依赖 unkown revision问题解决
    K8S学习笔记
    TCP time_wait close_wait问题(可能是全网最清楚的例子)
    认识beanstalkd
    【线上问题系列】DB字段类型变更导致核心服务不可用
    mysql 类型自动化转换问题
    curl 用法
    requests访问https站点证书告警问题
    博客目录
    工作随笔——elasticsearch数据冷热分离、数据冷备
  • 原文地址:https://www.cnblogs.com/dee0912/p/4472726.html
Copyright © 2011-2022 走看看