jQuery中delegate和on的用法与区别详细解析
2023-06-13 09:15:16 时间
在jQuery1.7中.delegate()已被.on()取代。对于早期版本,它仍然使用事件委托的最有效手段。
在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的。
.delegate()指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
//jQuery1.4.3+
$(elements).delegate(selector,events,data,handler);
//jQuery1.7+
$(elements).on(events,[selector],data,handler);
例如:.delegate() code:
$("table").delegate("td","click",function(){
alert("hello");
});
.on() code:
$("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 插件:jquery.qrcode.js
- jQuery限制TextArea里输入字符个数详解编程语言
- jQuery表单插件jquery.form.js详解编程语言
- jQuery中delegate与on的用法与区别详解编程语言
- 的区别MySQL中ON与IN的区别探讨(mysql中on与in)
- jQuery on()方法绑定事件
- MySQL 中的 ON 含义及应用场景解析(mysql中on什么意思)
- delete cascadeOracle 中 ON DELETE CASCADE 的使用(oracle中的on)
- jquery$.ajax入门应用二
- Jquery中Ajax缓存带来的影响的解决方法
- Jquery插件写法笔记整理
- jQuery事件绑定.on()简要概述及应用
- JQuery+CSS提示框实现思路及代码(纯手工打造)
- jquery追加tr和删除tr示例代码
- jquery中的on方法使用介绍
- Jquery图片延迟加载插件jquery.lazyload.js的使用方法
- jQuery实现响应浏览器缩放大小并改变背景颜色
- jQuery简单实现网页选项卡特效
- jquery中获取元素里某一特定子元素的代码
- 分享2个jQuery插件--jquery.fileupload与artdialog
- jQuery新的事件绑定机制on()示例应用
- jQuery中$.click()无效问题分析