zoukankan      html  css  js  c++  java
  • 事件代理/事件委托----点击li弹出对应的下标和内容

    <body>
        <ul>
            <li>这是第一行</li>
            <li>这是第二行</li>
            <li>这是第三行</li>
            <li>这是第四行</li>
            <li>这是第五行</li>
        </ul>
    </body>

    第一种:

        var lis=document.getElementsByTagName("li");
        for(var i=0;i<lis.length;i++){
            lis[i].index=i;     // 给每个li赋一个下标 
            lis[i].onclick=function(){
                alert(this.index+"----"+this.innerHTML);
            };
        }

    第二种:

        var lis=document.getElementsByTagName("li");
        for(var i=0;i<lis.length;i++){
            (function(n){
                lis[n].onclick=function(){
                    alert(n+this.innerHTML);
                };
            })(i);
        }

    第三种:

        var lis=document.getElementsByTagName("li");
        for(var i=0;i<lis.length;i++){
            lis[i].onclick=function(n){
                return function(){
                    alert(n+lis[n].innerHTML);
                };
            }(i);
        }

    第四种:

        $("ul li").click(function(){
            var i=$(this).index();
            var text=$(this).text();
            alert(i+text);
        });

    第五种:(事件代理)

        var ul=document.getElementsByTagName("ul")[0];
        ul.addEventListener("click",clickHandler);
        function clickHandler(e){
            if(e.target.nodeName!=="LI") return;    // 或者写 if(e.target.constructor!==HTMLLIElement) return;
            var arr=Array.from(ul.children);
            var index=arr.indexOf(e.target);
            var text=arr[index].innerHTML;
            console.log(index+text)
        }

    第六种:(jq事件代理)

        $(function(){
            $("ul").click(function (e) {  
                var target=$(e.target);
                var index=target.index();
                var text=target.text();
                console.log(index+text)
            });
        });
  • 相关阅读:
    Coursera 机器学习笔记(八)
    Coursera 机器学习笔记(七)
    Coursera 机器学习笔记(六)
    Coursera 机器学习笔记(五)
    Coursera 机器学习笔记(四)
    埃拉托斯特尼筛法
    Floyd判圈算法
    多数投票算法
    Coursera 机器学习笔记(三)
    Coursera 机器学习笔记(二)
  • 原文地址:https://www.cnblogs.com/wuqilang/p/12005219.html
Copyright © 2011-2022 走看看