×

14个jQuery Live Search插件

前端技术网 前端技术网 发表于2024-01-18 12:09:19 浏览1600 评论0

抢沙发发表评论

一、jQuery的.bind,live和.delegate之间的区别

1.bind()函数只能针对已经存在的元素进行事件的设置;但是live(),on(),delegate()均支持未来新添加元素的事件设置;

2.bind()函数在jquery1.7版本以前比较受推崇,1.7版本出来之后,官方已经不推荐用bind(),替代函数为on(),这也是1.7版本新添加的函数,同样,可以用来代替live()函数,live()函数在1.9版本已经删除;

14个jQuery Live Search插件

3.live()函数和delegate()函数两者类似,但是live()函数在执行速度,灵活性和CSS选择器支持方面较delegate()差些;

4.bind()支持Jquery所有版本;live()支持jquery1.8-;delegate()支持jquery1.4.2+;on()支持jquery1.7+。

结论:如果项目中引用的jquery版本为低版本,推荐用delegate(),如果是高版本jquery则建议用on()。

二、jQuery事件绑定方法bind,live,delegate和on的区别

bind是用来绑定一个或多个事件的,live其实bind的一个加强版,用来绑定通过JavaScript或者jQuery添加的DOM元素事件,其语法结构是一样

123456$("p").bind("mouseenter mouseleave",function(){alert("ok");})$("p").live("mouseenter mouseleave",function(){alert("ok");})

delegate用于事件委托,也是绑定过JavaScript或者jQuery添加的DOM元素事件。

14个jQuery Live Search插件

123$("div").delegate("p","click",function(){alert("p");})

点击div下面的P执行alert;

而on是在1.7之后新增的,是把bind,live,delegate全部合并在一起了,

123$("div").on("click","p",function(){ alert(1);})

不需要事件委托的时候把P去掉就会变成点击div触发了。

个人建议根据版本来使用,语法其实都差不多,如果你是用1.7版本以上就建议用on,毕竟bind,live,delegate这些将来都会遗弃了,如有错误,请指出。顺便吐槽一下楼上的回答,不走心啊

三、jquery中on()方法和live()方法的区别

一、作用不同

1、on():在被选元素及子元素上添加一个或多个事件处理程序。

2、live():为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

二、触发条件不同

1、on():使用 on()方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

2、live():通过 live()方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。

三、语法不同

1、on():$(selector).on(event,childSelector,data,function)childSelector可选。规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的 delegate()方法)。

2、live():$(selector).live(event,data,function),其中event必需。规定附加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。

参考资料来源:百度百科-jQuery

四、Jquery中bind和live的区别

Jquery中bind和live的区别如下:

1.bind()可以绑定多个事件,live()一次只能绑定一个事件。

区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

2.live目前只支持所有事件的子集,支持列表参考上面的说明。

.live不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。

.live没有”setup”和”cleanup”的过程。因为所有的事件是委派而不是直接绑定在元素上的。

感谢您的阅读!希望本文对解决您关于14个jQuery Live Search插件的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。