1、什么是事件委托

通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。
  举个列子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。

原理:

  利用冒泡的原理,把事件加到父级上,触发执行效果。

作用:

  性能要好
  针对新创建的元素,直接可以拥有事件

事件源 :

  跟this作用一样(他不用看指向问题,谁操作的就是谁),event对象下的

使用情景:

  •为DOM中的很多元素绑定相同事件;
  •为DOM中尚不存在的元素绑定事件;

示例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <ul>
<li class="felix">felix</li>
<li>fff</li>
<li>fff</li> </ul>
</body>
<script src="../jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//通过on()方法
$('ul').on('click','#name,.felix',function(){
console.log(this);
});
//未来追加的元素
$('ul').append('<a id="name">relix</a>')
})
</script>
</body>
</html>

语法:

on(type,selector,data,fn);

描述:在选定的元素上绑定一个或多个事件处理函数

参数解释
events( String) : 一个或多个空格分隔的事件类型
selector( String) : 一个选择器字符串,用于过滤出被选中的元素中能触发事件的后代元素
data: 当一个事件被触发时,要传递给事件处理函数的event.data
fn:回调函数

最新文章

  1. webstorm ES6 转 ES5
  2. LINUX+Vmware+SVN的配置和安装
  3. ACM: Copying Data 线段树-成段更新-解题报告
  4. nodejs express 框架解密4-路由
  5. order by 指定顺序 mysql
  6. 【iCore双核心组合是开发板例程】【12个 verilog 中级实验例程发布】
  7. [HDOJ2830]Matrix Swapping II(胡搞)
  8. Sicily 1931. 卡片游戏
  9. vector如何进行局部排序
  10. JavaEE XML DOM解析
  11. Hololens生成与安装(旁加载)应用
  12. less可以做什么?less详解!(less嵌套选择器实现纯CSS二级导航)
  13. 敏捷冲刺每日报告--day1
  14. Qt ------ excel 操作
  15. Laravel-2
  16. Apache Commons Beanutils 三 (BeanUtils、ConvertUtils、CollectionUtils...)
  17. 2018-02-17 中文代码示例[译]Scala中创建隐式函数
  18. BZOJ.2882.工艺(后缀自动机 最小表示 map)
  19. 使用Swing的JSpinner组件设置日期时间选择器
  20. WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库

热门文章

  1. adb shell dumpsys [options]的使用
  2. PB做的托盘程序(最小化后在左下角显示图标)
  3. 使用 js 简单的实现 bind、call 、aplly
  4. bzoj 2734 集合悬殊 (状压dp)
  5. 虚拟机CentOS启动报错-entering emergency mode解决办法
  6. webpack4快速上手
  7. 使用cnpm淘宝镜像
  8. java引用传递,值传递
  9. linux 下安装python2.7.13
  10. linux 中free命令