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 );

详细用法可参考官方例子

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

时间: 2024-08-24 11:19:20

jQuery -> bind / live / delegate 的终结者 - on的相关文章

jQuery bind 、delegate、live和on比较

JQuery的delegate()方法是给页面里的元素(或者页面里未来将会有的元素)绑定事件,同样的从结果来看JQuery的bind()方法同样也是给元素绑定事件,但是它(bind)只能给页面中当前已经存在的元素去绑定事件. JQuery的live()方法同样也是给元素绑定事件,但是它(live)在页面有改动的时候,JQuery把相应函数绑定到$(document)元素上.任何时候只要有事件冒泡到document节点上,它就查看该事件是否是一个绑定事件,以及该事件的目标元素与这一选择器是否匹配,

jquery bind live delegate on

1.bind() $(selector).bind(event,[data],function) bind方法给每个$(selector)元素都注册一个事件处理函数,不支持未来增加的元素.上面两段代码等价的. $('p').bind('click',function(){ alert('p'); }); $('p").click(function(){ alert('p'); }); 2.live() $(selector).live(event,[data],function) live方法把

jQuery -&amp;gt; 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(

jQuery中的bind() live() delegate()之间区别分析

jQuery中的bind() live() delegate()之间区别分析 首先,你得要了解我们的事件冒泡(事件传播)的概念,我先看一张图 1.bind方式 $('a').bind('click',function (){ alert('click'); }) 解析:这种方式最简单,jq扫描文档找出所有的a,让将函数绑定到每个元素的click事件上 2.live方式 $('a').live('click',function (){ alert('click'); }) 解析:jq将函数绑定到$

Jquery之事件绑定(bind(),live(),delegate(),on())

1..bind() 描述: 为一个元素绑定一个事件处理程序. .bind()一个基本的用法: $(selector).bind('click', function() { alert('User clicked on "foo."'); }); 可以直接用原生js替代为: $(selector).click( function() { alert('User clicked on "foo."'); }); 在jQuery1.4.3,您现在可以通过传递false代替

Jquery中的bind(),live(),delegate(),on()绑定事件方式 前言

前言 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅,也希望该文章日后能帮助到园友,文中如有不当之处,还望各位指正,话不多说,直接进入正题. bind() 简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多个事件,例如 click,db

jQuery事件:bind、delegate、on的区别

最近在AngularJS的开发中,遇到一个神奇的事情:我们用到livebox来预览评论列表中的图片, 然而评论列表是由Angular Resource动态载入的.不可思议的是,点击这些动态载入的图片仍然会触发lightbox的图片预览. 难道lightbox使用先进的MutationObserver技术监听了DOM的变化?观察lightbox源码才发现,原来只是jQuery的.on()方法: $('body').on('click', 'a[rel^=lightbox], ...', funct

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元素),如果我们不