继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

事件代理的使用(欢迎指出不足)

啊呆_2
关注TA
已关注
手记 4
粉丝 4
获赞 44
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>事件代理</title>
        <style type="text/css">
            *{
                margin: 0px;
                padding: 0px;
                list-style: none;
            }
            .box{
                padding: 20px;
                background-color: #CCCCCC;
                width: 200px;
                margin: 100px auto;
            }
        </style>
    </head>
    <body>
        <div class="box">
            <ul id='list'>
                <li>1111111111</li>
                <li>2222222222</li>
                <li>3333333333</li>
                <li>4444444444</li>
                <li>5555555555</li>
            </ul>
        </div>
        <script type="text/javascript">
        //需求:给每一个li元素添加click事件监听器
        //方案:使用事件代理,给父容器添加事件监听,然后使用e.target判断是什么子元素触发的事件
            window.onload=function(){
                var list=document.getElementById('list');
                list.addEventListener('click',function(event){
                    var e=event||window.event;
                    if (e.target&&e.target.nodeName==='LI') {
                        var item=e.target;
                        console.log(item.innerText);
                    } else{
                        console.log('不是li元素触发的');
                    }
                },false)
            }

        </script>
    </body>
</html>
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP