http://kb.cnblogs.com/page/94469/
网上好多类似的
简言之bind可以绑定页面上已有的,live和delegate可以绑定到还未存在于页面中的元素之上。delegate又比live好一些
------------------------------------------------------------------------------------------------------------------------------------------
.bind()
这是最简单的绑定方法了。JQuery扫描文档找出所有的$(‘a’)元素,并把alert函数绑定到每个元素的click事件上。
.live()
JQuery把alert函数绑定到$(document)元素上,并使用’click’和’a’作为参数。任何时候只要有事件冒泡到 document节点上,它就查看该事件是否是一个click事件,以及该事件的目标元素与’a’这一CSS选择器是否匹配,如果都是的话,则执行函数。
live方法还可以被绑定到具体的元素(或context)而不是document上,像这样:
$('a', $('#container')[0]).live(...);
.delegate()
类似于live() 但是delegate方法仅需要查找并存储$(document)元素。
live函数也挺令人费解的。想想看,它被链到$(‘a’)对象集上,但其实际上是在$(document)对象上发生作用。由于这个原因,它能够
试图以一种吓死人的方式来把方法链到自身上。实际上,我想说的是,以$.live(‘a’,…)这一形式作为一种全局性的jQuery方法,live方法
会更具意义一些。
(貌似下面描述不正确 CSS选择器 测试用a 也是可以的)
仅支持CSS选择器
最后一点,live方法有一个非常大的缺点,那就是它仅能针对直接的CSS选择器做操作,这使得它变得非常的不灵活。
$("p").append("<a class='della' href='#'> Hello</a >");
$('a').live('hover', function() {
alert("Live handler called.");
});
I am della , I love SH