jQuery事件委托
2012年5月20日
最近看了jquery基础教程,发现了有一个叫做事件委托的概念,利用事件委托可以减少程序占用的内存,维护相对来来说也会简单点,它的原理就是利用事件冒泡把事件绑定在目标元素的父元素上面,比如一个ul可能要嵌套很多个li,这是如果直接用隐式迭代的话占用的内存就比较大了。现在我也养说很多朋友可能还不太清楚,我从下面的例子详细解释一下吧
html代码
<ul class="test"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul>
javascript代码
$('.test').live('click', function(e){
var target = e.target,
$target = $(target);
if ($target.is("li")) {
$target.css("background-color","#ccc");
}
});
上面的例子就是把事件绑定在ul上面,利用.target这个方法的找到事件触发的目标元素,在li比较少的情况这种写法还不能体现他的优势,到了li有几十上百个的时候这样就能大大节省程序的内存了。而且使用这种绑定的好处还有以后即使动态添加li,也可以有原来li的效果,关于jQuery的各种绑定方法这里就不再介绍了,可以到官网详细了解各种事件绑定的方法。

