jQuery -> bind / live / delegate 终结者 - on

最近的一项研究jQuery。利用获得的最新版本1.11.1

据该书打下面的代码示例,,反正也发现跑不起来。

html

<div class="container">
	<div class="box">hello world</div>
</div>

js

$(document).ready(function() {
	$(‘.box‘).live(‘click‘, function() {
		$(this).clone().appendTo(‘.container‘);
	});
});

原来live已经废弃掉了,取而代之的是on,jQuery并打算用on来代替bind,live,delegate

參考API文档,on的使用方法例如以下

.on( events [, selector ] [, data ], handler(eventObject) )

为元素绑定事件

$( "#dataTable tbody tr" ).on( "click", function() {
  alert( $( this ).text() );
});

等价于

$( "#dataTable tbody" ).on( "click", "tr", function() {
  alert( $( this ).text() );
});

为事件处理函数传递数据

function greet( event ) {
  alert( "Hello " + event.data.name );
}
$( "button" ).on( "click", {
  name: "Karl"
}, greet );
$( "button" ).on( "click", {
  name: "Addy"
}, greet );

具体使用方法可參考官方样片

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-08-25 07:15:39

jQuery -&gt; 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 的bind(), live(), delegate(), on()绑定事件方式

1. 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅. bind() 适用所有版本,但是根据官网解释,自从jquery1.7版本以后bind()函数推荐用on()来代替. live() jquery1.9版本以下支持,jquery1.9及其以上版本删除了此方法,jquery1.9以上版本用on()方法来代替. delegate() 单事件处理:例如 $(selector

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() 区别

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() 区别(转)

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

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() .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) 为每个匹配元素的特定事件绑定事件处理函数 live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的 delegate(selector,[type],[data],fn) 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数 on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数 差别: .bind()是直