jQuery中delegate与on的用法与区别示例介绍
在jQuery1.7中 .delegate()已被.on()取代。对于早期版本,它仍然使用事件委托的最有效手段。
在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的。
.delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
代码如下:
// jQuery 1.4.3+
$( elements ).delegate( selector, events, data, handler );
// jQuery 1.7+
$( elements ).on( events, [selector], data, handler );
$("table").delegate("td","click",function(){
alert("hello");
});
$("table").on("click", "td", function() {
alert("hi");
});
PS: 两者区别是seleter和events顺序不同
delegate和on方法被选元素的子元素必须是"合法的"子元素。比如
代码如下:
$("table").delegate("button","click",function(){...});
$("table").on("click", "p", function(){...});
就不起作用,因为正常情况下,table子元素应为tr,td...
on(events,[selector],[data],fn),参数[selector]是可选,
一个选择器字符串用于过滤器的触发事件的选择器元素的后代。
例如:
代码如下:
$("table").on("click", ".td1", function() {
alert("hi");
});
过滤class为td1的table子元素
而delegate的selector是必需的。
相关推荐
-
jQuery中bind,live,delegate与one方法的用法及区别解析
bind( )方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象. .bind(eventType[, evnetData], Handler(eventObject)) 其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型:eventData为Map类型,给出要传递给事件处理程序的数据,handler指定触发该事件时要执行的函数,eventObject表示事
-
浅谈jquery中delegate()与live()
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序 例如给id是showspan的div中的span标签添加事件 <div id="showspan"><span>showspan**showspan</span></div> <span>outspan</span> <SCRIPT LANGUAGE="JavaScript"> <!--
-
jQuery中的.bind()、.live()和.delegate()之间区别分析
DOM树 首先,可视化一个HMTL文档的DOM树是很有帮助的.一个简单的HTML页面看起来就像是这个样子: 事件冒泡(又称事件传播) 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何我们已绑定到该元素的单击事件上的函数的执行. 复制代码 代码如下: $('a').bind('click',function(){alert('that tickles!')}) 因此一个单击操作会触发alert函数的执行. click事件接着会向树的根方向传播,广播到父元素,然后接着是每个祖先元素
-
jQuery中 delegate使用的问题
习惯了bind,用惯了live,就不习惯delegate了呀有木有... 支持为动态生成的标签元素绑定事件也许就live和delegate了吧,不过新版本已经不支持live了,只有delegate delegate真的比较特殊呀,不同于其他事件绑定的风格. 就因为习惯了之前的bind风格..栽了跟头 简单的说就是大意了. delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 使用 delegate() 方法的事件处理程序适用
-
由点击页面其它地方隐藏div所想到的jQuery的delegate
先从最简单的开始,假如页面有一个id为test的div,我们要实现点击页面其它地方隐藏该div: 复制代码 代码如下: <div id="test" style="margin:100px;background-color:#3e3;width:100px;height:100px;"> </div> 对于这个问题一般有两种思路,这两种思路都会利用事件冒泡这一原理,想要详细了解Javascript事件机制可以看看JavaScript与HTML
-
jQuery中delegate和on的用法与区别详细解析
在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段.在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的. .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 复制代码 代码如下: // jQuery 1.4.3+$( elements ).delegate( selector, events, data, handler );// jQuer
-
jQuery事件 delegate()使用方法介绍
delegate定义和用法 delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素). 参数 描述 childSelector 必需.规定要附加事件处理程序的一个或多个子元素. event 必需.规定附加到元素的一个或多个事件. 由空格分隔多个事件值.必须是有效的事件. data 可选.规定传递到函数的额外数据. function 必
-
jQuery中delegate与on的用法与区别示例介绍
在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段. 在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的. .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 复制代码 代码如下: // jQuery 1.4.3+ $( elements ).delegate( selector, events, data, handler ); // jQ
-
JQuery中的html()、text()、val()区别示例介绍
1.HTML html():取得第一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档 html(val):设置每一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档. 2.TEXT text():取得所有匹配元素的内容. 结果是由所有匹配元素包含的文本内容组合起来的文本.这个方法对HTML和XML文档都有效. text(val):设置所有匹配元素的文本内容 与 html() 类似, 但将编码 HTML (将 "<" 和 &
-
Jquery中的层次选择器与find()的区别示例介绍
复制代码 代码如下: $("#anaylseBody tr").find("td:eq(" + $("#analyse th:contains(" + $(this).val() + ")").index() + ")").hide(); ("#anaylseBody tr") find作为根基 复制代码 代码如下: $("#anaylseBody tr td") 以
-
jquery中map函数与each函数的区别实例介绍
jquery中的each函数和map函数的用法看起来差不多,但其实还是有一点区别的. 其中一个重要的区别是,each返回的是原来的数组,并不会新创建一个数组.而map方法会返回一个新的数组.如果在没有必要的情况下使用map,则有可能造成内存浪费. 例如: var items = [1,2,3,4]; $.each(items, function() { alert('this is ' + this); }); var newItems = $.map(items, function(i)
-
PHP中isset、empty的用法与区别示例详解
前言 在编写程序调用变量时,遇到未定义的变量时,会报错,这是就需要我们对变量先进行判断,再进行相关操作. 这里主要记录两个变量判断函数的使用:isset()与empty() 1.isset - 检测变量是否已设置并且非 NULL isset ( mixed $var [, mixed $... ] ) : bool 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset(). 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE. 同时要注意的是 nu
-
jQuery中bind与live的用法及区别小结
首先介绍这两个方法之前,我们常用的是click()方法 复制代码 代码如下: $("a").click(function() { alert("hello");}); click()方法是bind()方法的一种简单方法.在bind()中,jQuery所有JavaScript事件对象,比如focus, mouseover,和resize,都是可以作为type参数传递进来的. 参数:type,[data],function(eventObject)例如: 复制代
-
ext中store.load跟store.reload的区别示例介绍
复制代码 代码如下: reload : function(options){ this.load(Ext.applyIf(options||{}, this.lastOptions)); }, 复制代码 代码如下: load : function(options) { options = Ext.apply({}, options); this.storeOptions(options); if(this.sortInfo && this.remoteSort){ var pn = thi
-
jQuery中delegate()方法用法实例
本文实例讲述了jQuery中delegate()方法用法.分享给大家供大家参考.具体分析如下: 此方法为匹配元素的子元素添加一个或多个事件,并规定当这些事件发生时运行的函数. 语法结构: 复制代码 代码如下: $(selector).delegate(childofselector,type,data,function) 参数列表: 参数 描述 childofselector 定义要附加事件处理程序的一个或多个子元素. type 可选.定义附加到元素的一个或多个事件类型.由空格分隔多个事件值.
-
jQuery中ajax的get()方法用法实例
本文实例讲述了jQuery中ajax的get()方法用法.分享给大家供大家参考.具体分析如下: $.get()通过 HTTP GET请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.get(url, [data], [callback], [type]); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,待发送 Key/value 参数. 3.callback:可选,请求成功后所执行的回调函数. 4.type:可选,返回内容格式,xml, html, scri
随机推荐
- System表空间不足的报警问题浅析
- jquery鼠标悬停导航下划线滑出效果
- 使用Docker部署 spring-boot maven应用的方法
- Redis教程(八):事务详解
- jQuery中setTimeout的几种使用方法小结
- JS小框架 fly javascript framework
- 基于Java字符串 "==" 与 "equals" 的深入理解
- Javascript实现div层渐隐效果的方法
- JavaScript常用正则函数用法示例
- Android入门之TableLayout应用解析(二)
- PHP递归获取目录内所有文件的实现方法
- 极易被忽视的javascript面试题七问七答
- AjaxUI:鼠标拖拽
- 一个方便AJAX开发的通用类
- Java基础强化训练输入错误即结束进程
- ASP.NET MVC4使用MongoDB制作相册管理
- Python版Mssql爆破小脚本
- javascript 定义新对象方法
- js中的事件捕捉模型与冒泡模型实例分析
- Spring MVC+mybatis实现注册登录功能