jQuery中.bind() .live() .delegate() .on()的比较

bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数

live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的

delegate(selector,[type],[data],fn) 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数

on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

差别:

.bind()是直接绑定在元素上

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。

.delegate()则是更精确的小范围使用事件代理,性能优于.live()

.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制

(转)

时间: 2024-12-26 06:13:30

jQuery中.bind() .live() .delegate() .on()的比较的相关文章

jQuery中 .bind() .live(). delegate() . on() 的区别

jQuery中   .bind()    .live().   delegate() .   on()  的区别 这几种方法都是绑定事件用到的,但是他们之间有些差别 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 例如: <ul> <a href="#"><li>1111111</li></a> <a href="#"><li>22222</

转 jQuery 中bind(),live(),delegate(),on() 区别

当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 准备知识: 当我们在开始的时候,有些知识是必须具备的: DOM树 下图仅仅是一个示例,这是一个在browser环境下的一棵模拟DOM树,在下面的代码中仅起到演示的作用: Event bubbling (aka event propagation)冒泡 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们不

jquery实现input输入框实时输入触发事件代码 ---jQuery 中bind(),live(),delegate(),on() 区别

复制代码 代码如下: <input id="productName" name="productName" value="" /> 复制代码 代码如下: //绑定$('#productName').bind('input propertychange', function() {searchProductClassbyName();}); 复制代码 代码如下: searchProductClassbyName 为触发后调用的方法: 当

jQuery 中bind(),live(),delegate(),on() 区别(转)

当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 准备知识: 当我们在开始的时候,有些知识是必须具备的: DOM树 下图仅仅是一个示例,这是一个在browser环境下的一棵模拟DOM树,在下面的代码中仅起到演示的作用: Event bubbling (aka event propagation)冒泡 我们的页面可以理解为一棵DOM树,当我们在叶子结点上做什么事情的时候(如click一个a元素),如果我们不

jQuery 中bind(),live(),delegate(),on() 区别

on()来改写通过 .bind(), .live(), .delegate()所注册的事件 /* The jQuery .bind(), .live(), and .delegate() methods are just one line pass throughs to the new jQuery 1.8.2 .on() method */ // Bind $( "#members li a" ).on( "click", function( e ) {} );

jQuery中.bind() .live() .delegate() .on()区别

on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的时间处理函数 $('#members').on('click','li a',function(){}); bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数: $('a').bind('click',function(){}) live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是后来添加的 $("a").live('c

jquery中bind,live,delegate,on的区别

这几种方法都是绑定事件用到的,但是他们之间有些差别 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 例如: <ul> <a href="#"><li>1111111</li></a> <a href="#"><li>22222</li></a> <a href="#"><li>33

jQuery中bind方法和live方法区别解析

Javascript中的事件有它的独特性,有默认的执行事件,例如冒泡就是其中的一个.在很多比较复杂的应用程序中,停止事件的冒泡或捕获在程序开发当中是十分有用的,而在IE中有它的独特方式来阻止事件的冒泡(和其它浏览器方式不同). 以下给出一种通用的方式来实现阻止事件的冒泡,该通用方式接受一个参数[传递到事件处理程序中的事件对象],该函数处理取消事件冒泡的两种方式:标准的W3C方式和非标准的IE方式: 什么是事件冒泡[又称为事件传播]:当我们点击一个元素时,它会触发bind在该元素上的click事件

JQ中bind(),live(),delegate()事件方法的区别

[导读] bind(), live(), 和 delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1 7版本中发布了一个用于绑定事件的新方法叫 bind(), .live(), 和 .delegate()这三个方法的区别并不是非常明显.弄清楚这些区别对我们写出简介的代码和预防我们的应用中出现bugs是非常有帮助的. jQuery团队在1.7版本中发布了一个用于绑定事件的新方法叫做on.这个方法包含