jQuery事件委托

<ul id="ulBox">
<li data-id="1"></li>
<li data-id="2"></li>
<li data-id="3"></li>
</ul> $("#ulBox").on('click','li',function(){
console.log($(this).attr("data-id"));
})

on()事件相当于是$(document).click(function(){if(点击的是btn){}}),给document添加了一个click事件,党点击的是btn,事件冒泡原理,从里到外,就相当于点击了document,那么就会执行后面的操作,本质上只给document添加了一个事件,而click()事件是给所有btn添加了click事件。

另外on()事件可以添加多个事件。

on()委托事件的优点:原来的事件绑定,要绑定好多事件,现在只需要绑定一个事件,大大提高了效率和页面性能,解决的动态添加元素导致不能触发的bug。

Jq1.7+开始支持。

适用性:
         适合:click 、mousedown、mouseup、keydown 、keyup、keypress
        不适合:mouseover和mouseout虽然也有事件冒泡,但是处理他们要特别注意,因为需要经常计算他们的位置,处理起来不太容易,
                     focus、blur之类的本身就没有冒泡的特性,自然不能用事件委托;

最新文章

  1. Java面试连环炮问题收集记录贴【JVM方面】
  2. asp.net 手工调用 WS(Get)方法:
  3. C语言PIC16 serial bootloader和C#语言bootloader PC端串口通信程序
  4. Linux 开机启动方式设置 inittab 详解,开机直接进入“命令行”模式
  5. C语言之复杂指针详解
  6. 显示 mac 隐藏文件
  7. vs运行代码版本不一致删除缓存
  8. Linux Crontab 定时任务使用总结
  9. Appium0.18.x迁移到Appium1.x须知事项
  10. IOC 容器初始化
  11. ASP.NET Zero--11.一个例子(4)商品分类管理-数据检验
  12. 【翻译】go语言中的map实战
  13. hdu4185二分图匹配
  14. SQL反模式学习笔记9 元数据分裂
  15. python_14 静态属性、类方法、静态方法;组合;继承
  16. 数据库查询的数据导出到xls表,集合数据导出到xls表
  17. 【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割
  18. 【Android】Android如何对APK签名
  19. 转:ObjectInputStream类和ObjectInputStream类的使用
  20. 开源的python机器学习模块

热门文章

  1. 转 - spring security oauth2 password授权模式
  2. [剑指Offer]7-重建二叉树
  3. Java代码获取spring 容器的bean几种方式
  4. HDU2028
  5. 命令方式联网与界面network-manager方式联网
  6. AX_NumberSeq
  7. 机器学习面试--一句话概括传统ML算法
  8. lombok(@Getter&amp;@Setter)
  9. ABP框架系列之四十一:(Nuget-Packages-Nuget包)
  10. 第33章:MongoDB-索引--GridFS存储文件