JS事件的委托

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件委托</title>
</head>
<body>
    <button id="btn1">添加超链接</button>
    <ul id="u1" style="background-color: hotpink;">
        <li><a href="javascript:;" class="link">超链接</a></li>
        <li><a href="javascript:;" class="link">超链接</a></li>
        <li><a href="javascript:;" class="link">超链接</a></li>
    </ul>


</body>
<script>
    // 将事件绑定在父辈元素上,从而使得所有子元素都具有某一功能,这就是事件委派
    var add=document.getElementById("btn1");
    var ul=document.getElementById("u1");
    add.onclick=function(){
       var add_href=document.createElement("li");
       add_href.innerHTML='<a href="javascript:;" class="link">超链接</a>';
       ul.appendChild(add_href);
    }
    //委派,实现绑定一次,应用至多个应用上
    ul.onclick=function(event){
        
        // 直接委派会导致所有父元素都可实现其功能,与期望的特定对象才能实现的预期不一致
        // 需要加判断
        // target能返回事件触发对象元素
        event=event||window.event;
        if(event.target.className=="link"){
            alert("我是ul中的li");
        };
        
    };
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值