今天用到了jquery中的事件绑定,有几点是以前没有注意到的,特记录之。
1、live()和die()
jquery中的live()事件用到的是事件委托机制,什么是事件委托机制呢?事件委托机制就是发生事件的元素本身不处理,而是把事件的处理委托给其父元素甚至是根元素。比如有以下代码,当为每个li元素分派click事件,点击li元素,click事件会从li冒泡到ul,最后到body(即document对象),因此,发生在li上的事件ul和body同样可以处理.利用事件冒泡这个原理,就可以实现事件委托了。
<body>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
</body>
上述的代码就可以将发生在li上的事件交给其父元素ul处理。事件委托机制也是代码优化的一个处理方法。
在用live()方法绑定某事件,若想解除绑定,则需要使用die()方法:
$("li").live("click",function(){
//TODO something
});
$("li").die("click"); //解除绑定
2、bind和unbind
使用bind对某元素进行绑定某事件,则解除绑定时需要使用unbind()方法:
$("li").bind("click",function(){
//TODO something
});
$("li").unbind("click"); //解除绑定