JavaScript的事件委托技术

23 篇文章 0 订阅
19 篇文章 0 订阅

如果一个整体页面里有大量的按钮.我们就要为每一个按钮绑定事件处理程序.这样就会影响性能了.

首先每个函数都是对象,对象就会占用很多内存.内存中的对象越多,性能就越差.

其次,dom访问次数增多,就会导致延迟加载页面.事实上,从如何来利用好事件处理程序,还是有很好的解决方案的.

一、事件委托

对事件处理程序过多的问题解决的方案就是事件委托技术.

事件委托技术利用了事件冒泡.只需指定一个事件处理程序.

我们可以为某个需要触发事件的父元素来绑定事件处理程序.

1 <ul id="mylist">       
2     <li id="li_1">sdsdsd</li>       
3     <li id="li_2">sdsdsd</li>       
4     <li id="li_3">sdsdsd</li>
5 </ul>

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

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

01 obj.eventHandler($("mylist"),"click",function(e){
02                     e = e || window.event;
03                     switch(e.target.id){    //大家应该还记得target是事件目标,只要点击了事件的目标元素就会弹出相应的alert.
04                         case "li_1":
05                         alert("li_1");
06                         break;
07                         case "li_2":
08                         alert("li_2");
09                         break;
10                         case "li_3":
11                         alert("li_3");
12                         break
13                     }
14                 })

如果在一个复杂的web应用程序中,.这种事件委托是非常实用的.

如果不采用这种方式的话,一个一个去绑定那就是数不清的事件处理程序.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值