前端-【学习心得】-事件委托方法
上篇分享提出的这个事件委托,今天让我来详细说明下把。
先看一段例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="description" content=""> <meta name="keywords" content=""> <link href="" rel="stylesheet"> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> </head> <body> <div class="tab" > <ul class="wrapper" > <li class="detail">1</li> <li class="detail">2</li> <li class="detail">3</li> <li class="detail">4</li> <li class="detail">5</li> <li class="detail">6</li> <li class="detail">7</li> <li class="detail">8</li> <li class="detail">9</li> <li class="detail">10</li> </ul> </div> <script type="text/javascript"> $("document").ready(function(){ /**事件委托**/ $(".wrapper").on("click",function(e){ console.log(e.target); console.log(e.target.nodeName); if(e.target.nodeName=="LI"){ alert("ok") } }) /**普通监听**/ $(".detail").on("click",function(e){ console.log(e); }) }) </script> </body> </html>
这里我给出了一个无序列表,我们想在点击li后输出一个内容。
对于我们大部分新手来说可能就直接在li上做事件注册。但是假如这个li有成千上万个的话,那个效率可想而知。
那么解决办法就是利用上篇说的事件冒泡。在li最外层的ul上增加事件监听。因为点击内部li后就会事件会冒泡到最外层。
而我们要做的就是判断下这个事件的目标对象是哪个。
我这里采用了判断节点的方法,当然同学们也可以定义好类名,用jq的hasClass();方法判断目标对象。这样一来我们的事件效率就会很高了。
转载于:https://www.cnblogs.com/wq123/p/4396425.html
前端-【学习心得】-事件委托方法相关推荐
- html表单的课后心得体会,web前端学习心得体会范文
<web前端学习心得体会范文>由会员分享,可在线阅读,更多相关<web前端学习心得体会范文(2页珍藏版)>请在装配图网上搜索. 1.web前端学习心得体会范文web前端学习心得 ...
- 总结一年来的前端学习心得
到今天,前端学习刚好满一年.我也顺利从非计算机专业转到前端.对于前端学习,自己也是摸着石头过河,中间也有过困惑和迷茫.本文主要讲述自己一年来对于前端学习的心得体会,希望能对学习前端的人提供一些帮助. ...
- 2018年前端学习心得——总结篇
学习 2018年,确定了人生的职业规划,开启了前端之路.基础不存在的,本科所了解的HTML标签和简单CSS样式早就不存在了.下面简单总结一下这一年的收获与进步. 自我学习(3个月):前端基础知识,在图 ...
- 前端学习 FormData 对象的方法
1. 常用的FormData对象方法 获取表单对象中属性的值 formData.get('key'); 设置表单对象中属性的值 formData.set('key', 'value'); 删除表单对象 ...
- [学习心得]Response.Write()方法响应导致页面字体变大的解决方法
我们来分析一下ASP.NET中用Response.Write()方法响应导致页面字体变大的问题 比方说在页面里面有个LinkButton,要点击以后要打开新窗口,而且新窗口的URL是根据用户选择结果动 ...
- 事件委托的概念和原理
事件委托优点 减少DOM操作的,减少浏览器的重绘(repaint)和重排(reflow),从而提高性能: 减少内存空间的占用率,因为每一个函数都是一个对象,对象越多,内存占有率就越大,自然性能就越差, ...
- JQ 为未来元素添加事件处理器—事件委托
随着DOM结构的复杂化和Ajax等动态脚本技术的运用,有了较多的动态添加进来的元素,直接用JQ添加click事件会发现新添加进来的元素并不能直接选取到,在这里就需要用到事件委托方法,JQ为事件委托提供 ...
- 13前端学习之WebAPI(三):节点操作、事件高级、DOM事件流、事件委托冒泡
文章目录 一.节点操作: 1. 删除节点: 1.2. 案例:删除留言 2. 赋值(克隆)节点: 3. 案例:动态生成表格: 3.1 案例分析: 3.2 实现: 4. 创建元素的三种方式: 4.1 区别 ...
- 前端和后端的英文_80后老阿姨转行做前端的学习心得,深情交流!
一.Why choose front-end 2012.07毕业后,进了一家游戏公司做运营策划,写过营销方案.做过内容编辑.知道广告投放和换量,还得兼职产品经理画原型. 每天9.30-23.00以后, ...
最新文章
- Quality Certificate Check at Goods Receipt
- hyperledge环境安装
- Linux服务器---安装bind
- R开发(part10)--基于S3的面向对象编程
- 2014编程之美初赛第二场
- Python多任务——线程
- 与MQ通讯的完整JAVA程序
- Android 系统性能优化(24)--布局优化
- 多点触摸与单点触摸接口主要区别【转】
- t检验自由度的意义_t检验的原理是什么?有什么意义?谢谢
- js 開始时间,当前时间,结束时间的比較
- 软件测试人员工作计划怎么写,软件测试个人工作计划.docx
- ccc计算机比赛如何报名,2020年加拿大计算机竞赛报名即将截止!
- keil中下载按钮和调试按钮灰掉了
- #USB加密狗信息安全与USB_Host 硬件读写加密狗
- 夏普红外测距模块使用笔记
- 拆解一个老式电感电容表
- 《数解道法》(一)前言
- 【笔记整理】网络攻防技术
- vc2005 应用程序正常初始化(0XC0150002)失败
热门文章
- C#初学的一些注意点
- php时间戳源码,php格式化时间戳
- mysql不同的类的个数_Mysql-SQL优化-统计某种类型的个数_MySQL
- 国产plc做modbus从站_Modbus-RTU通信
- java如何关闭线程池_如何优雅的关闭Java线程池
- Jdk并发线程处理CountDownLatch、CyclicBarrier、Semaphore
- java环境变量win8_win8java环境变量设置
- 计算机竞赛女生,我校组队参加 CCPC-WFINAL中国大学生程序设计竞赛女生专场
- php静态stitac,php静态static介绍
- linux更新驱动脚本,Linux 第一个驱动程序编写