ul中点击li的事件委托和闭包的例子及区别

闭包的应用:
var lis_lis = $("test").getElementsByTagName("li"); for (var i = 0, l = lis_lis.length; i < l; i++) { lis_lis[i].onclick = (function(x) { return function() { alert(x); } })(i); }

事件委托

<ul id="mylist">

        <li id="li_1">sdsdsd</li>

        <li id="li_2">sdsdsd</li>

        <li id="li_3">sdsdsd</li>

</ul>

 

现在我们要为这3个li绑定事件处理程序..

只需要在ul绑定事件处理程序.

js代码:

 

obj.eventHandler($("mylist"),"click",function(e){

                    e = e || window.event;

                    switch(e.target.id){    //大家应该还记得target是事件目标,只要点击了事件的目标元素就会弹出相应的alert.

                        case "li_1":

                        alert("li_1");

                        break;

                        case "li_2":

                        alert("li_2");

                        break;

                        case "li_3":

                        alert("li_3");

                        break

                    }

                })

转载于:https://www.cnblogs.com/lctstruggle/p/4412890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值